[INFO] fetching crate ggpo-rs 0.1.3...
[INFO] testing ggpo-rs-0.1.3 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate ggpo-rs 0.1.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ggpo-rs 0.1.3
[INFO] finished tweaking crates.io crate ggpo-rs 0.1.3
[INFO] tweaked toml for crates.io crate ggpo-rs 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ggpo-rs 0.1.3 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ggpo-rs 0.1.3 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zstd-safe v2.0.5+zstd.1.4.5
[INFO] [stderr]   Downloaded zstd v0.5.3+zstd.1.4.5
[INFO] [stderr]   Downloaded enumflags2_derive v0.6.4
[INFO] [stderr]   Downloaded serde-big-array v0.3.0
[INFO] [stderr]   Downloaded c_vec v1.3.3
[INFO] [stderr]   Downloaded enumflags2 v0.6.4
[INFO] [stderr]   Downloaded syn v1.0.35
[INFO] [stderr]   Downloaded mio v0.7.0
[INFO] [stderr]   Downloaded ntapi v0.3.4
[INFO] [stderr]   Downloaded sdl2 v0.34.2
[INFO] [stderr]   Downloaded sdl2-sys v0.34.2
[INFO] [stderr]   Downloaded libc v0.2.73
[INFO] [stderr]   Downloaded zstd-sys v1.4.17+zstd.1.4.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0
[INFO] running `Command { std: "docker" "start" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.73
[INFO] [stderr]    Compiling proc-macro2 v1.0.19
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling syn v1.0.35
[INFO] [stderr]    Compiling serde_derive v1.0.114
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling serde v1.0.114
[INFO] [stderr]    Compiling ppv-lite86 v0.2.8
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling smallvec v1.4.1
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling instant v0.1.6
[INFO] [stderr]    Compiling lock_api v0.4.1
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling jobserver v0.1.21
[INFO] [stderr]    Compiling parking_lot_core v0.8.0
[INFO] [stderr]    Compiling mio v0.7.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling cc v1.0.58
[INFO] [stderr]    Compiling parking_lot v0.11.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling zstd-sys v1.4.17+zstd.1.4.5
[INFO] [stderr]    Compiling rand_distr v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.20
[INFO] [stderr]    Compiling thiserror v1.0.20
[INFO] [stderr]    Compiling bytes v0.5.6
[INFO] [stderr]    Compiling serde-big-array v0.3.0
[INFO] [stderr]    Compiling bincode v1.3.1
[INFO] [stderr]    Compiling zstd-safe v2.0.5+zstd.1.4.5
[INFO] [stderr]    Compiling zstd v0.5.3+zstd.1.4.5
[INFO] [stderr]    Compiling ggpo-rs v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/backends/p2p.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error, info};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectStatus`, `FrameNum`, `GGPOError`, `GGPOSessionCallbacks`, `GGPOSync`, `GGPO_MAX_PLAYERS`, `GGPO_MAX_SPECTATORS`, `GameInput`, `InputBuffer`, `NetworkStats`, `PlayerHandle`, `Player`, `Session`, `UDP_MSG_MAX_PLAYERS`, `UdpCallback`, `UdpMsg`, `UdpProtocol`, `Udp`, `self`, `self`, and `self`
[INFO] [stdout]   --> src/backends/sync_test.rs:2:18
[INFO] [stdout]    |
[INFO] [stdout]  2 |     game_input::{FrameNum, GameInput, InputBuffer},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]  3 |     ggpo::{
[INFO] [stdout]  4 |         self, GGPOError, GGPOSessionCallbacks, NetworkStats, Session, GGPO_MAX_PLAYERS,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |         GGPO_MAX_SPECTATORS,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |         udp::{Udp, UdpCallback, UdpError},
[INFO] [stdout]    |               ^^^  ^^^^^^^^^^^
[INFO] [stdout]  9 |         udp_msg::{ConnectStatus, UdpMsg, UDP_MSG_MAX_PLAYERS},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         udp_proto::{self, UdpProtoError, UdpProtocol},
[INFO] [stdout]    |                     ^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     player::{Player, PlayerHandle},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     sync::{self, GGPOSync, SyncError},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backends/sync_test.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{error, info};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `net::SocketAddr` and `sync::Arc`
[INFO] [stdout]   --> src/backends/sync_test.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{net::SocketAddr, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Events`
[INFO] [stdout]  --> src/network/udp.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use mio::{net::UdpSocket, Events, Interest, Poll, Token};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:755:51
[INFO] [stdout]     |
[INFO] [stdout] 755 |               MsgEnum::SyncRequest(sync_request) => info!(
[INFO] [stdout]     |  ___________________________________________________^
[INFO] [stdout] 756 | |                 "{:?} sync-request ({:?}).\n",
[INFO] [stdout] 757 | |                 prefix, sync_request.random_request
[INFO] [stdout] 758 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:760:17
[INFO] [stdout]     |
[INFO] [stdout] 760 |                 info!("{:?} sync-reply ({:?}).\n", prefix, sync_reply.random_reply)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `info`
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:762:42
[INFO] [stdout]     |
[INFO] [stdout] 762 |             MsgEnum::QualityReport(_) => info!("{:?} quality report.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:763:41
[INFO] [stdout]     |
[INFO] [stdout] 763 |             MsgEnum::QualityReply(_) => info!("{:?} quality reply.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:764:38
[INFO] [stdout]     |
[INFO] [stdout] 764 |               MsgEnum::Input(input) => info!(
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 765 | |                 "{:?} game-compressed-input {:?} (+ {:?} bits).\n",
[INFO] [stdout] 766 | |                 prefix, input.start_frame, input.num_bits
[INFO] [stdout] 767 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:773:35
[INFO] [stdout]     |
[INFO] [stdout] 773 |             MsgEnum::KeepAlive => info!("{:?} keep alive.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:973:29
[INFO] [stdout]     |
[INFO] [stdout] 973 | / ...                   info!(
[INFO] [stdout] 974 | | ...                       "Skipping past frame:({:?}) current is {:?}.\n",
[INFO] [stdout] 975 | | ...                       current_frame, self.last_received_input.frame
[INFO] [stdout] 976 | | ...                   )
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `info`
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]  --> src/bitvector.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 |     vector[((*offset) / 8)] |= 1 << ((*offset) % 8);
[INFO] [stdout]   |            ^             ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 -     vector[((*offset) / 8)] |= 1 << ((*offset) % 8);
[INFO] [stdout] 4 +     vector[(*offset) / 8] |= 1 << ((*offset) % 8);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:190:26
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (_, None) => error!("Config not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |             ) => error!("Callbacks not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:257:26
[INFO] [stdout]     |
[INFO] [stdout] 257 |             (None, _) => error!("Config not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |             None => error!("Callbacks not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:274:36
[INFO] [stdout]     |
[INFO] [stdout] 274 |               (Some(frame), None) => info!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 275 | |                 "=== Saved frame info {} (size: {}  checksum: None).\n",
[INFO] [stdout] 276 | |                 frame, state.size
[INFO] [stdout] 277 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |               (Some(frame), Some(checksum)) => info!(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 279 | |                 "=== Saved frame info {} (size: {}  checksum: {:#x}).\n",
[INFO] [stdout] 280 | |                 frame, state.size, checksum
[INFO] [stdout] 281 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:282:18
[INFO] [stdout]     |
[INFO] [stdout] 282 |               _ => info!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 283 | |                 "=== Saved frame info None (size: {}  checksum: None).\n",
[INFO] [stdout] 284 | |                 state.size
[INFO] [stdout] 285 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |             None => error!("Config is uninitialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/sync.rs:469:44
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 (Some(incorrect), None) => (first_incorrect = Some(incorrect)),
[INFO] [stdout]     |                                            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 469 -                 (Some(incorrect), None) => (first_incorrect = Some(incorrect)),
[INFO] [stdout] 469 +                 (Some(incorrect), None) => first_incorrect = Some(incorrect),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:529:46
[INFO] [stdout]     |
[INFO] [stdout] 529 |               (Some(frame), Some(checksum)) => info!(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 530 | |                 "=== Loading frame info {} (size: {}  checksum: {:#X}).\n",
[INFO] [stdout] 531 | |                 frame, state.size, checksum
[INFO] [stdout] 532 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:533:33
[INFO] [stdout]     |
[INFO] [stdout] 533 |               (Some(frame), _) => info!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 534 | |                 "=== Loading frame info {} (size: {}  checksum: None).\n",
[INFO] [stdout] 535 | |                 frame, state.size,
[INFO] [stdout] 536 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:537:26
[INFO] [stdout]     |
[INFO] [stdout] 537 |               (None, _) => info!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 538 | |                 "=== Loading frame info None (size: {}  checksum: None).\n",
[INFO] [stdout] 539 | |                 state.size,
[INFO] [stdout] 540 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:547:39
[INFO] [stdout]     |
[INFO] [stdout] 547 |             (_, s) if s.len() == 0 => error!("State buffer not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:551:26
[INFO] [stdout]     |
[INFO] [stdout] 551 |             (None, _) => error!("Callbacks not initialized!"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/time_sync.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |             None => error!("game input frame is null"),
[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]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:246:49
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut total_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:285:49
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut total_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:288:53
[INFO] [stdout]     |
[INFO] [stdout] 288 |             let mut queue_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:618:58
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 assert!(total_min_confirmed != std::u32::MAX);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/ggpo.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn do_poll(&mut self, timeout: Option<Duration>) -> Result<(), GGPOError> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input` is never read
[INFO] [stdout]    --> src/input_queue.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 input.frame = Some(new_frame);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input` is never read
[INFO] [stdout]    --> src/input_queue.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 input.frame = None
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `input_ack` is assigned to, but never used
[INFO] [stdout]    --> src/network/udp_proto.rs:414:34
[INFO] [stdout]     |
[INFO] [stdout] 414 |         if let MsgEnum::InputAck(mut input_ack) = &mut msg.message {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_input_ack` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input_ack` is never read
[INFO] [stdout]    --> src/network/udp_proto.rs:415:13
[INFO] [stdout]     |
[INFO] [stdout] 415 |             input_ack.ack_frame = self.last_received_input.frame;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sync.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let mut state: &mut SavedFrame = &mut self.saved_state.frames[self.saved_state.head];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game_name` is never read
[INFO] [stdout]   --> src/backends/p2p.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Peer2PeerBackend<T>
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 64 |     game_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Peer2PeerBackend` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECOMMENDATION_INTERVAL` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const RECOMMENDATION_INTERVAL: u32 = 240;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DISCONNECT_TIMEOUT` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const DEFAULT_DISCONNECT_TIMEOUT: u128 = 5000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DISCONNECT_NOTIFY_START` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const DEFAULT_DISCONNECT_NOTIFY_START: u128 = 750;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalEndpoint` is never constructed
[INFO] [stdout]    --> src/ggpo.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | struct LocalEndpoint {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling vcpkg v0.2.10
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling sdl2 v0.34.2
[INFO] [stderr]    Compiling enumflags2_derive v0.6.4
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling c_vec v1.3.3
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/backends/p2p.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | use log::{error, info};
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectStatus`, `FrameNum`, `GGPOError`, `GGPOSessionCallbacks`, `GGPOSync`, `GGPO_MAX_PLAYERS`, `GGPO_MAX_SPECTATORS`, `GameInput`, `InputBuffer`, `NetworkStats`, `PlayerHandle`, `Player`, `Session`, `UDP_MSG_MAX_PLAYERS`, `UdpCallback`, `UdpMsg`, `UdpProtocol`, `Udp`, `self`, `self`, and `self`
[INFO] [stdout]   --> src/backends/sync_test.rs:2:18
[INFO] [stdout]    |
[INFO] [stdout]  2 |     game_input::{FrameNum, GameInput, InputBuffer},
[INFO] [stdout]    |                  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]  3 |     ggpo::{
[INFO] [stdout]  4 |         self, GGPOError, GGPOSessionCallbacks, NetworkStats, Session, GGPO_MAX_PLAYERS,
[INFO] [stdout]    |         ^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |         GGPO_MAX_SPECTATORS,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |         udp::{Udp, UdpCallback, UdpError},
[INFO] [stdout]    |               ^^^  ^^^^^^^^^^^
[INFO] [stdout]  9 |         udp_msg::{ConnectStatus, UdpMsg, UDP_MSG_MAX_PLAYERS},
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         udp_proto::{self, UdpProtoError, UdpProtocol},
[INFO] [stdout]    |                     ^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     player::{Player, PlayerHandle},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 13 |     sync::{self, GGPOSync, SyncError},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backends/sync_test.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::{error, info};
[INFO] [stdout]    |           ^^^^^  ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `net::SocketAddr` and `sync::Arc`
[INFO] [stdout]   --> src/backends/sync_test.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{net::SocketAddr, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub mod sync_test;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Events`
[INFO] [stdout]  --> src/network/udp.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use mio::{net::UdpSocket, Events, Interest, Poll, Token};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:755:51
[INFO] [stdout]     |
[INFO] [stdout] 755 |               MsgEnum::SyncRequest(sync_request) => info!(
[INFO] [stdout]     |  ___________________________________________________^
[INFO] [stdout] 756 | |                 "{:?} sync-request ({:?}).\n",
[INFO] [stdout] 757 | |                 prefix, sync_request.random_request
[INFO] [stdout] 758 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:760:17
[INFO] [stdout]     |
[INFO] [stdout] 760 |                 info!("{:?} sync-reply ({:?}).\n", prefix, sync_reply.random_reply)
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `info`
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:762:42
[INFO] [stdout]     |
[INFO] [stdout] 762 |             MsgEnum::QualityReport(_) => info!("{:?} quality report.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:763:41
[INFO] [stdout]     |
[INFO] [stdout] 763 |             MsgEnum::QualityReply(_) => info!("{:?} quality reply.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:764:38
[INFO] [stdout]     |
[INFO] [stdout] 764 |               MsgEnum::Input(input) => info!(
[INFO] [stdout]     |  ______________________________________^
[INFO] [stdout] 765 | |                 "{:?} game-compressed-input {:?} (+ {:?} bits).\n",
[INFO] [stdout] 766 | |                 prefix, input.start_frame, input.num_bits
[INFO] [stdout] 767 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:773:35
[INFO] [stdout]     |
[INFO] [stdout] 773 |             MsgEnum::KeepAlive => info!("{:?} keep alive.\n", prefix),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/network/udp_proto.rs:973:29
[INFO] [stdout]     |
[INFO] [stdout] 973 | / ...                   info!(
[INFO] [stdout] 974 | | ...                       "Skipping past frame:({:?}) current is {:?}.\n",
[INFO] [stdout] 975 | | ...                       current_frame, self.last_received_input.frame
[INFO] [stdout] 976 | | ...                   )
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `info`
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]  --> src/bitvector.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 |     vector[((*offset) / 8)] |= 1 << ((*offset) % 8);
[INFO] [stdout]   |            ^             ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 -     vector[((*offset) / 8)] |= 1 << ((*offset) % 8);
[INFO] [stdout] 4 +     vector[(*offset) / 8] |= 1 << ((*offset) % 8);
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:190:26
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (_, None) => error!("Config not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |             ) => error!("Callbacks not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:257:26
[INFO] [stdout]     |
[INFO] [stdout] 257 |             (None, _) => error!("Config not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:270:21
[INFO] [stdout]     |
[INFO] [stdout] 270 |             None => error!("Callbacks not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:274:36
[INFO] [stdout]     |
[INFO] [stdout] 274 |               (Some(frame), None) => info!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 275 | |                 "=== Saved frame info {} (size: {}  checksum: None).\n",
[INFO] [stdout] 276 | |                 frame, state.size
[INFO] [stdout] 277 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:278:46
[INFO] [stdout]     |
[INFO] [stdout] 278 |               (Some(frame), Some(checksum)) => info!(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 279 | |                 "=== Saved frame info {} (size: {}  checksum: {:#x}).\n",
[INFO] [stdout] 280 | |                 frame, state.size, checksum
[INFO] [stdout] 281 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:282:18
[INFO] [stdout]     |
[INFO] [stdout] 282 |               _ => info!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 283 | |                 "=== Saved frame info None (size: {}  checksum: None).\n",
[INFO] [stdout] 284 | |                 state.size
[INFO] [stdout] 285 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |             None => error!("Config is uninitialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/sync.rs:469:44
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 (Some(incorrect), None) => (first_incorrect = Some(incorrect)),
[INFO] [stdout]     |                                            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 469 -                 (Some(incorrect), None) => (first_incorrect = Some(incorrect)),
[INFO] [stdout] 469 +                 (Some(incorrect), None) => first_incorrect = Some(incorrect),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:529:46
[INFO] [stdout]     |
[INFO] [stdout] 529 |               (Some(frame), Some(checksum)) => info!(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 530 | |                 "=== Loading frame info {} (size: {}  checksum: {:#X}).\n",
[INFO] [stdout] 531 | |                 frame, state.size, checksum
[INFO] [stdout] 532 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:533:33
[INFO] [stdout]     |
[INFO] [stdout] 533 |               (Some(frame), _) => info!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 534 | |                 "=== Loading frame info {} (size: {}  checksum: None).\n",
[INFO] [stdout] 535 | |                 frame, state.size,
[INFO] [stdout] 536 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:537:26
[INFO] [stdout]     |
[INFO] [stdout] 537 |               (None, _) => info!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 538 | |                 "=== Loading frame info None (size: {}  checksum: None).\n",
[INFO] [stdout] 539 | |                 state.size,
[INFO] [stdout] 540 | |             ),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:547:39
[INFO] [stdout]     |
[INFO] [stdout] 547 |             (_, s) if s.len() == 0 => error!("State buffer not initialized"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/sync.rs:551:26
[INFO] [stdout]     |
[INFO] [stdout] 551 |             (None, _) => error!("Callbacks not initialized!"),
[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]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/time_sync.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |             None => error!("game input frame is null"),
[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]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:246:49
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut total_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:285:49
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let mut total_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:288:53
[INFO] [stdout]     |
[INFO] [stdout] 288 |             let mut queue_min_confirmed = std::u32::MAX;
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/backends/p2p.rs:618:58
[INFO] [stdout]     |
[INFO] [stdout] 618 |                 assert!(total_min_confirmed != std::u32::MAX);
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> src/ggpo.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn do_poll(&mut self, timeout: Option<Duration>) -> Result<(), GGPOError> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input` is never read
[INFO] [stdout]    --> src/input_queue.rs:341:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                 input.frame = Some(new_frame);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input` is never read
[INFO] [stdout]    --> src/input_queue.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |                 input.frame = None
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `input_ack` is assigned to, but never used
[INFO] [stdout]    --> src/network/udp_proto.rs:414:34
[INFO] [stdout]     |
[INFO] [stdout] 414 |         if let MsgEnum::InputAck(mut input_ack) = &mut msg.message {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_input_ack` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `input_ack` is never read
[INFO] [stdout]    --> src/network/udp_proto.rs:415:13
[INFO] [stdout]     |
[INFO] [stdout] 415 |             input_ack.ack_frame = self.last_received_input.frame;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sync.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let mut state: &mut SavedFrame = &mut self.saved_state.frames[self.saved_state.head];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game_name` is never read
[INFO] [stdout]   --> src/backends/p2p.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Peer2PeerBackend<T>
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 64 |     game_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Peer2PeerBackend` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECOMMENDATION_INTERVAL` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const RECOMMENDATION_INTERVAL: u32 = 240;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DISCONNECT_TIMEOUT` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const DEFAULT_DISCONNECT_TIMEOUT: u128 = 5000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DISCONNECT_NOTIFY_START` is never used
[INFO] [stdout]   --> src/backends/sync_test.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const DEFAULT_DISCONNECT_NOTIFY_START: u128 = 750;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalEndpoint` is never constructed
[INFO] [stdout]    --> src/ggpo.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | struct LocalEndpoint {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sdl2-sys v0.34.2
[INFO] [stderr]    Compiling enumflags2 v0.6.4
[INFO] [stderr] error: failed to run custom build command for `sdl2-sys v0.34.2`
[INFO] [stderr] note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/release/build/sdl2-sys-50d97e211bc133df/build-script-build` (exit status: 101)
[INFO] [stderr]   --- stdout
[INFO] [stderr]   cargo:include=/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sdl2-sys-0.34.2/SDL2-2.0.10/include
[INFO] [stderr] 
[INFO] [stderr]   --- stderr
[INFO] [stderr] 
[INFO] [stderr]   thread 'main' (1048) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sdl2-sys-0.34.2/build.rs:106:33:
[INFO] [stderr]   called `Result::unwrap()` on an `Err` value: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")
[INFO] [stderr]   stack backtrace:
[INFO] [stderr]      0:     0x55a80cb46471 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]      1:     0x55a80cb46471 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]      2:     0x55a80cb46471 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]      3:     0x55a80cb46471 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]      4:     0x55a80cb57a6a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]      5:     0x55a80cb57a6a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stderr]      6:     0x55a80cb4a08c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<std[70759c8f55707aa4]::sys::stdio::unix::Stderr>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stderr]      7:     0x55a80cb4a08c - <std[70759c8f55707aa4]::sys::stdio::unix::Stderr as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stderr]      8:     0x55a80cb2e7b6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]      9:     0x55a80cb2e7b6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stderr]     10:     0x55a80cb41c31 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:319:9
[INFO] [stderr]     11:     0x55a80cb41deb - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:815:13
[INFO] [stderr]     12:     0x55a80cb2e862 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stderr]     13:     0x55a80cb278b9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]     14:     0x55a80cb2f05d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stderr]     15:     0x55a80cb5819c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stderr]     16:     0x55a80cb57f72 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/result.rs:1871:5
[INFO] [stderr]     17:     0x55a80caef59c - build_script_build[d27ac3cac216675e]::get_vcpkg_config
[INFO] [stderr]     18:     0x55a80caf0c43 - build_script_build[d27ac3cac216675e]::link_sdl2
[INFO] [stderr]     19:     0x55a80caf0be9 - build_script_build[d27ac3cac216675e]::main
[INFO] [stderr]     20:     0x55a80caf153b - <fn() as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]     21:     0x55a80caef3de - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
[INFO] [stderr]     22:     0x55a80caef4e9 - std[70759c8f55707aa4]::rt::lang_start::<()>::{closure#0}
[INFO] [stderr]     23:     0x55a80cb40ff9 - <&dyn core[df12db4294e9bfd3]::ops::function::Fn<(), Output = i32> + core[df12db4294e9bfd3]::panic::unwind_safe::RefUnwindSafe + core[df12db4294e9bfd3]::marker::Sync as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:287:21
[INFO] [stderr]     24:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<&dyn core[df12db4294e9bfd3]::ops::function::Fn<(), Output = i32> + core[df12db4294e9bfd3]::panic::unwind_safe::RefUnwindSafe + core[df12db4294e9bfd3]::marker::Sync, i32>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stderr]     25:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panicking::catch_unwind::<i32, &dyn core[df12db4294e9bfd3]::ops::function::Fn<(), Output = i32> + core[df12db4294e9bfd3]::panic::unwind_safe::RefUnwindSafe + core[df12db4294e9bfd3]::marker::Sync>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stderr]     26:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panic::catch_unwind::<&dyn core[df12db4294e9bfd3]::ops::function::Fn<(), Output = i32> + core[df12db4294e9bfd3]::panic::unwind_safe::RefUnwindSafe + core[df12db4294e9bfd3]::marker::Sync, i32>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stderr]     27:     0x55a80cb40ff9 - std[70759c8f55707aa4]::rt::lang_start_internal::{closure#0}
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/rt.rs:175:24
[INFO] [stderr]     28:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<std[70759c8f55707aa4]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stderr]     29:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panicking::catch_unwind::<isize, std[70759c8f55707aa4]::rt::lang_start_internal::{closure#0}>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stderr]     30:     0x55a80cb40ff9 - std[70759c8f55707aa4]::panic::catch_unwind::<std[70759c8f55707aa4]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stderr]     31:     0x55a80cb40ff9 - std[70759c8f55707aa4]::rt::lang_start_internal
[INFO] [stderr]                                  at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/rt.rs:171:5
[INFO] [stderr]     32:     0x55a80caef3d1 - std[70759c8f55707aa4]::rt::lang_start::<()>
[INFO] [stderr]     33:     0x55a80caf15f5 - main
[INFO] [stderr]     34:     0x78d7091c2601 - <unknown>
[INFO] [stderr]     35:     0x78d7091c2718 - __libc_start_main
[INFO] [stderr]     36:     0x55a80caef1c5 - _start
[INFO] [stderr]     37:                0x0 - <unknown>
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0", kill_on_drop: false }`
[INFO] [stdout] ce88432e9eecdde4fea4624f879cee770aa4363000cc237e0494ba398288b4a0
