[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] checking conwayste/netwayste against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconwayste%2Fnetwayste" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/conwayste/netwayste on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 164 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.51)
[INFO] [stderr]       Adding color-backtrace v0.1.3 (available: v0.7.2)
[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.9.0)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.9.2)
[INFO] [stderr]       Adding semver v0.9.0 (available: v1.0.27)
[INFO] [stderr]       Adding time v0.1.45 (available: v0.3.44)
[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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1b75fc93e83f0a36fd32e82741f6a8d47c6b7545360fc187a0eaf43877afb2c
[INFO] running `Command { std: "docker" "start" "-a" "f1b75fc93e83f0a36fd32e82741f6a8d47c6b7545360fc187a0eaf43877afb2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1b75fc93e83f0a36fd32e82741f6a8d47c6b7545360fc187a0eaf43877afb2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1b75fc93e83f0a36fd32e82741f6a8d47c6b7545360fc187a0eaf43877afb2c", kill_on_drop: false }`
[INFO] [stdout] f1b75fc93e83f0a36fd32e82741f6a8d47c6b7545360fc187a0eaf43877afb2c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 68a10aef5ffe327428ea21907e2adddecda56353f0bb46628c653ba7a9d4fdb5
[INFO] running `Command { std: "docker" "start" "-a" "68a10aef5ffe327428ea21907e2adddecda56353f0bb46628c653ba7a9d4fdb5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking bit-set v0.5.3
[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]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking regex-syntax v0.4.2
[INFO] [stderr]     Checking scoped-tls v0.1.2
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking object v0.37.3
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking term v0.5.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking rusty-fork v0.2.2
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking proptest v0.7.2
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-core v0.1.18
[INFO] [stderr]     Checking tokio-dns-unofficial v0.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking color-backtrace v0.1.3
[INFO] [stderr]     Checking bincode v0.9.2
[INFO] [stderr]     Checking 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<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[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<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[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] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]   --> examples/cli-client.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let string = String::from_str(string.trim()).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `netwayste` (example "cli-client") due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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 <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> 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<Option<Packet>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Packet>, Box<dyn Error>> {
[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<Option<Packet>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Packet>, Box<dyn Error>> {
[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<Option<Vec<(SocketAddr, Packet)>>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Vec<(SocketAddr, Packet)>>, Box<dyn Error>> {
[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<Option<Packet>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Packet>, Box<dyn Error>> {
[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<Option<Packet>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Packet>, Box<dyn Error>> {
[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<Option<Vec<(SocketAddr, Packet)>>, Box<Error>> {
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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<Option<Vec<(SocketAddr, Packet)>>, Box<dyn Error>> {
[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<T: Ord+Sequenced+Debug+Clone> {
[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<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn oldest_seq_num(&self) -> Option<u64> {
[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<T>;
[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<T> NetQueue<T> 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<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     fn find_rx_insertion_index_in_subset(&self, start: usize, end: usize, item: &T) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 792 |     fn insert_into_rx_queue(&mut self, index: Option<usize>, item: T) -> bool {
[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<T: Ord+Sequenced+Debug+Clone> {
[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<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn oldest_seq_num(&self) -> Option<u64> {
[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<T>;
[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<T> NetQueue<T> 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<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     fn find_rx_insertion_index_in_subset(&self, start: usize, end: usize, item: &T) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 792 |     fn insert_into_rx_queue(&mut self, index: Option<usize>, 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] running `Command { std: "docker" "inspect" "68a10aef5ffe327428ea21907e2adddecda56353f0bb46628c653ba7a9d4fdb5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68a10aef5ffe327428ea21907e2adddecda56353f0bb46628c653ba7a9d4fdb5", kill_on_drop: false }`
[INFO] [stdout] 68a10aef5ffe327428ea21907e2adddecda56353f0bb46628c653ba7a9d4fdb5
