[INFO] cloning repository https://github.com/rm-you/middlemand-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rm-you/middlemand-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frm-you%2Fmiddlemand-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frm-you%2Fmiddlemand-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 917c589410c726284fc30dcadeb2a651402551f8
[INFO] checking rm-you/middlemand-rust against master#b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd for pr-155499
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frm-you%2Fmiddlemand-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rm-you/middlemand-rust
[INFO] finished tweaking git repo https://github.com/rm-you/middlemand-rust
[INFO] tweaked toml for git repo https://github.com/rm-you/middlemand-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rm-you/middlemand-rust on toolchain b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rm-you/middlemand-rust 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" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5c482073b34b202959117229ea6718646cbd8051d53136092931f1b059df1353
[INFO] running `Command { std: "docker" "start" "-a" "5c482073b34b202959117229ea6718646cbd8051d53136092931f1b059df1353", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5c482073b34b202959117229ea6718646cbd8051d53136092931f1b059df1353", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c482073b34b202959117229ea6718646cbd8051d53136092931f1b059df1353", kill_on_drop: false }`
[INFO] [stdout] 5c482073b34b202959117229ea6718646cbd8051d53136092931f1b059df1353
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd8b60e6dd4d152bb741b9a30076ed729d7d139b72843d22c0b363fc60e4f2c8
[INFO] running `Command { std: "docker" "start" "-a" "dd8b60e6dd4d152bb741b9a30076ed729d7d139b72843d22c0b363fc60e4f2c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]     Checking p99-login-middlemand v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find function `adjust_combined` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 37 |         0x03 => sequence::adjust_combined(con, len), // OP_Combined
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `adjust_ack` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 |         0x15 => sequence::adjust_ack(con, &mut con.buffer, len), // OP_Ack
[INFO] [stdout]    |                           ^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_combined` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |             sequence::recv_combined(con, data, len);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_packet` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |         0x09 => sequence::recv_packet(con, data, len), // OP_Packet
[INFO] [stdout]    |                           ^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_fragment` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |             sequence::recv_fragment(con, data, len);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `adjust_combined` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 37 |         0x03 => sequence::adjust_combined(con, len), // OP_Combined
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `adjust_ack` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:42:27
[INFO] [stdout]    |
[INFO] [stdout] 42 |         0x15 => sequence::adjust_ack(con, &mut con.buffer, len), // OP_Ack
[INFO] [stdout]    |                           ^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:213:43
[INFO] [stdout]     |
[INFO] [stdout] 213 |         got = p.len - std::mem::size_of::<FirstFrag<'_>>() + 2;
[INFO] [stdout]     |                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_combined` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |             sequence::recv_combined(con, data, len);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_packet` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |         0x09 => sequence::recv_packet(con, data, len), // OP_Packet
[INFO] [stdout]    |                           ^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_fragment` in module `sequence`
[INFO] [stdout]   --> src/protocol.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |             sequence::recv_fragment(con, data, len);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^ not found in `sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:226:48
[INFO] [stdout]     |
[INFO] [stdout] 226 |             got += p.len - std::mem::size_of::<Frag>();
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn check_fragment_finished<Frag>(con: &mut Connection) {
[INFO] [stdout]     |                           ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:213:43
[INFO] [stdout]     |
[INFO] [stdout] 213 |         got = p.len - std::mem::size_of::<FirstFrag<'_>>() + 2;
[INFO] [stdout]     |                                           ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:249:69
[INFO] [stdout]     |
[INFO] [stdout] 249 |             server_list.extend_from_slice(&data[std::mem::size_of::<FirstFrag<'_>>()..]);
[INFO] [stdout]     |                                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:226:48
[INFO] [stdout]     |
[INFO] [stdout] 226 |             got += p.len - std::mem::size_of::<Frag>();
[INFO] [stdout]     |                                                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 205 | fn check_fragment_finished<Frag>(con: &mut Connection) {
[INFO] [stdout]     |                           ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:250:47
[INFO] [stdout]     |
[INFO] [stdout] 250 |             pos = p.len - std::mem::size_of::<FirstFrag<'_>>();
[INFO] [stdout]     |                                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:249:69
[INFO] [stdout]     |
[INFO] [stdout] 249 |             server_list.extend_from_slice(&data[std::mem::size_of::<FirstFrag<'_>>()..]);
[INFO] [stdout]     |                                                                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:258:73
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 server_list.extend_from_slice(&data[std::mem::size_of::<Frag>()..]);
[INFO] [stdout]     |                                                                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn filter_server_list<Frag>(con: &mut Connection, total_len: usize) {
[INFO] [stdout]     |                      ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `FirstFrag` in this scope
[INFO] [stdout]    --> src/sequence.rs:250:47
[INFO] [stdout]     |
[INFO] [stdout] 250 |             pos = p.len - std::mem::size_of::<FirstFrag<'_>>();
[INFO] [stdout]     |                                               ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:259:52
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 pos += p.len - std::mem::size_of::<Frag>();
[INFO] [stdout]     |                                                    ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn filter_server_list<Frag>(con: &mut Connection, total_len: usize) {
[INFO] [stdout]     |                      ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:258:73
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 server_list.extend_from_slice(&data[std::mem::size_of::<Frag>()..]);
[INFO] [stdout]     |                                                                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn filter_server_list<Frag>(con: &mut Connection, total_len: usize) {
[INFO] [stdout]     |                      ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Frag` in this scope
[INFO] [stdout]    --> src/sequence.rs:259:52
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 pos += p.len - std::mem::size_of::<Frag>();
[INFO] [stdout]     |                                                    ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn filter_server_list<Frag>(con: &mut Connection, total_len: usize) {
[INFO] [stdout]     |                      ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `netcode`
[INFO] [stdout]  --> src/connection.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{protocol, sequence, netcode, errors};
[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 import: `SocketAddr`
[INFO] [stdout]  --> src/netcode.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::{SocketAddr, UdpSocket};
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `netcode`
[INFO] [stdout]  --> src/connection.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{protocol, sequence, netcode, errors};
[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 import: `SocketAddr`
[INFO] [stdout]  --> src/netcode.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::net::{SocketAddr, UdpSocket};
[INFO] [stdout]   |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_host_short`
[INFO] [stdout]  --> src/protocol.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::netcode::{to_host_short};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_network_long`
[INFO] [stdout]  --> src/sequence.rs:5:69
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::netcode::{to_host_short, to_host_long, to_network_short, to_network_long};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/sequence.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_host_short`
[INFO] [stdout]  --> src/protocol.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::netcode::{to_host_short};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_network_long`
[INFO] [stdout]  --> src/sequence.rs:5:69
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::netcode::{to_host_short, to_host_long, to_network_short, to_network_long};
[INFO] [stdout]   |                                                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/sequence.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/sequence.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]  --> src/sequence.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Errors`
[INFO] [stdout]   --> src/connection.rs:47:52
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.remote_addr = self.socket.local_addr()?; // Simplified lookup
[INFO] [stdout]    |                                        ------------^ the trait `From<std::io::Error>` is not implemented for `Errors`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Errors` needs to implement `From<std::io::Error>`
[INFO] [stdout]   --> src/errors.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Errors {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `Errors`
[INFO] [stdout]   --> src/connection.rs:47:52
[INFO] [stdout]    |
[INFO] [stdout] 47 |         self.remote_addr = self.socket.local_addr()?; // Simplified lookup
[INFO] [stdout]    |                                        ------------^ the trait `From<std::io::Error>` is not implemented for `Errors`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this can't be annotated with `?` because it has type `Result<_, std::io::Error>`
[INFO] [stdout]    |
[INFO] [stdout] note: `Errors` needs to implement `From<std::io::Error>`
[INFO] [stdout]   --> src/errors.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Errors {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/connection.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     protocol::recv_from_remote(self, &self.buffer[..len]);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- argument #3 of type `usize` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/protocol.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn recv_from_remote(con: &mut Connection, data: &[u8], len: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^                                    ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     protocol::recv_from_remote(self, &self.buffer[..len], /* usize */);
[INFO] [stdout]    |                                                                         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/connection.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     protocol::recv_from_remote(self, &self.buffer[..len]);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------- argument #3 of type `usize` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/protocol.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn recv_from_remote(con: &mut Connection, data: &[u8], len: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^                                    ----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     protocol::recv_from_remote(self, &self.buffer[..len], /* usize */);
[INFO] [stdout]    |                                                                         +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:36:36
[INFO] [stdout]    |
[INFO] [stdout] 36 |     match get_protocol_opcode(&con.buffer) {
[INFO] [stdout]    |                                    ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `in_session` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |             con.in_session = false;
[INFO] [stdout]    |                 ^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             con.sequence.free();
[INFO] [stdout]    |                 ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 |         0x15 => sequence::adjust_ack(con, &mut con.buffer, len), // OP_Ack
[INFO] [stdout]    |                                                    ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |     con.send(&con.buffer[..len], true).expect("Failed to send to remote");
[INFO] [stdout]    |                   ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `in_session` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |             con.in_session = true;
[INFO] [stdout]    |                 ^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             con.sequence.free();
[INFO] [stdout]    |                 ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:36:36
[INFO] [stdout]    |
[INFO] [stdout] 36 |     match get_protocol_opcode(&con.buffer) {
[INFO] [stdout]    |                                    ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `in_session` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |             con.in_session = false;
[INFO] [stdout]    |                 ^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |             con.sequence.free();
[INFO] [stdout]    |                 ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 |         0x15 => sequence::adjust_ack(con, &mut con.buffer, len), // OP_Ack
[INFO] [stdout]    |                                                    ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |     con.send(&con.buffer[..len], true).expect("Failed to send to remote");
[INFO] [stdout]    |                   ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `in_session` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |             con.in_session = true;
[INFO] [stdout]    |                 ^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]   --> src/protocol.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             con.sequence.free();
[INFO] [stdout]    |                 ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sequence.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in val..self.count {
[INFO] [stdout]    |                       ^^^^^^^^^^ expected `u16`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sequence.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in val..self.count {
[INFO] [stdout]    |                       ^^^^^^^^^^ expected `u16`, found `u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sequence.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |             if let Some(ref p) = self.packets.get(&i) {
[INFO] [stdout]    |                                               --- ^^ expected `&u32`, found `&u16`
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&u32`
[INFO] [stdout]               found reference `&u16`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd/library/std/src/collections/hash/map.rs:1030:11
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sequence.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |             if let Some(ref p) = self.packets.get(&i) {
[INFO] [stdout]    |                                               --- ^^ expected `&u32`, found `&u16`
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&u32`
[INFO] [stdout]               found reference `&u16`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd/library/std/src/collections/hash/map.rs:1030:11
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let sublen = con.buffer[pos] as usize;
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:132:30
[INFO] [stdout]     |
[INFO] [stdout] 132 |             let sublen = con.buffer[pos] as usize;
[INFO] [stdout]     |                              ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:139:33
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let data = &mut con.buffer[pos..(pos + sublen)];
[INFO] [stdout]     |                                 ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `buffer` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:139:33
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let data = &mut con.buffer[pos..(pos + sublen)];
[INFO] [stdout]     |                                 ^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut seq = &mut con.sequence;
[INFO] [stdout]     |                            ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:175:28
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let mut seq = &mut con.sequence;
[INFO] [stdout]     |                            ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let seq = &mut con.sequence;
[INFO] [stdout]     |                        ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let seq = &mut con.sequence;
[INFO] [stdout]     |                        ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:234:24
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let seq = &mut con.sequence;
[INFO] [stdout]     |                        ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `sequence` of struct `Connection` is private
[INFO] [stdout]    --> src/sequence.rs:234:24
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let seq = &mut con.sequence;
[INFO] [stdout]     |                        ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0689]: can't call method `to_le_bytes` on ambiguous numeric type `{integer}`
[INFO] [stdout]    --> src/sequence.rs:298:37
[INFO] [stdout]     |
[INFO] [stdout] 298 |     let out_count_bytes = out_count.to_le_bytes();
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you must specify a type for this binding, like `i32`
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let mut out_count: i32 = 0;
[INFO] [stdout]     |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0689]: can't call method `to_le_bytes` on ambiguous numeric type `{integer}`
[INFO] [stdout]    --> src/sequence.rs:298:37
[INFO] [stdout]     |
[INFO] [stdout] 298 |     let out_count_bytes = out_count.to_le_bytes();
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you must specify a type for this binding, like `i32`
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let mut out_count: i32 = 0;
[INFO] [stdout]     |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0425, E0616, E0689.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0425, E0616, E0689.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `p99-login-middlemand` (bin "p99-login-middlemand") due to 28 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `p99-login-middlemand` (bin "p99-login-middlemand" test) due to 28 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "dd8b60e6dd4d152bb741b9a30076ed729d7d139b72843d22c0b363fc60e4f2c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd8b60e6dd4d152bb741b9a30076ed729d7d139b72843d22c0b363fc60e4f2c8", kill_on_drop: false }`
[INFO] [stdout] dd8b60e6dd4d152bb741b9a30076ed729d7d139b72843d22c0b363fc60e4f2c8
