[INFO] cloning repository https://github.com/ManStudio/RelayMan
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ManStudio/RelayMan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FManStudio%2FRelayMan", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FManStudio%2FRelayMan'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b29c01dd4193a461ca516e0eb463f6e3e0457301
[INFO] checking ManStudio/RelayMan against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FManStudio%2FRelayMan" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ManStudio/RelayMan
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/ManStudio/RelayMan
[INFO] tweaked toml for git repo https://github.com/ManStudio/RelayMan written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ManStudio/RelayMan on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ManStudio/RelayMan 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded polling v2.5.2
[INFO] [stderr]   Downloaded bytes-kman v0.1.12
[INFO] [stderr]   Downloaded local-ip-address v0.5.1
[INFO] [stderr]   Downloaded bytes-kman-derive v0.1.5
[INFO] [stderr]   Downloaded neli v0.5.3
[INFO] [stderr]   Downloaded rustix v0.37.15
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe9b1338e987f02d8bcc85316554a8ab6040b9c90807a9ea044c1cf05e06cc19
[INFO] running `Command { std: "docker" "start" "-a" "fe9b1338e987f02d8bcc85316554a8ab6040b9c90807a9ea044c1cf05e06cc19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe9b1338e987f02d8bcc85316554a8ab6040b9c90807a9ea044c1cf05e06cc19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe9b1338e987f02d8bcc85316554a8ab6040b9c90807a9ea044c1cf05e06cc19", kill_on_drop: false }`
[INFO] [stdout] fe9b1338e987f02d8bcc85316554a8ab6040b9c90807a9ea044c1cf05e06cc19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 490558b7794cf85419f1056212e64535ad84e867c9e5d6338c465646c5a29014
[INFO] running `Command { std: "docker" "start" "-a" "490558b7794cf85419f1056212e64535ad84e867c9e5d6338c465646c5a29014", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling proc-macro2 v1.0.49
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling rustix v0.37.15
[INFO] [stderr]     Checking linux-raw-sys v0.3.5
[INFO] [stderr]    Compiling polling v2.5.2
[INFO] [stderr]     Checking regex-syntax v0.7.1
[INFO] [stderr]     Checking aho-corasick v1.0.1
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]     Checking regex v1.8.1
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking neli v0.5.3
[INFO] [stderr]     Checking socket2 v0.4.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling bytes-kman-derive v0.1.5
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking bytes-kman v0.1.12
[INFO] [stderr]     Checking thiserror v1.0.38
[INFO] [stderr]     Checking local-ip-address v0.5.1
[INFO] [stderr]     Checking relay-man v0.2.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Domain`, `Protocol`, and `Type`
[INFO] [stdout]  --> src/client/response.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use socket2::{Domain, Protocol, SockAddr, Socket, Type};
[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: `Domain`, `Protocol`, and `Type`
[INFO] [stdout]  --> src/client/response.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use socket2::{Domain, Protocol, SockAddr, Socket, Type};
[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 variable: `accepted`
[INFO] [stdout]    --> src/client/connection.rs:327:48
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     RegisterResponse::Client { accepted, session } => {
[INFO] [stdout]     |                                                ^^^^^^^^ help: try ignoring the field: `accepted: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/client/connection.rs:327:58
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     RegisterResponse::Client { accepted, session } => {
[INFO] [stdout]     |                                                          ^^^^^^^ help: try ignoring the field: `session: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/response.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut conn = Conn {
[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: unused variable: `session`
[INFO] [stdout]   --> src/common/packets/register_response.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |             RegisterResponse::Client { accepted, session } => *accepted,
[INFO] [stdout]    |                                                  ^^^^^^^ help: try ignoring the field: `session: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/common/packets/register_response.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 |             RegisterResponse::Port { port } => true,
[INFO] [stdout]    |                                      ^^^^ help: try ignoring the field: `port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `accepted`
[INFO] [stdout]    --> src/client/connection.rs:327:48
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     RegisterResponse::Client { accepted, session } => {
[INFO] [stdout]     |                                                ^^^^^^^^ help: try ignoring the field: `accepted: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/client/connection.rs:327:58
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     RegisterResponse::Client { accepted, session } => {
[INFO] [stdout]     |                                                          ^^^^^^^ help: try ignoring the field: `session: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/response.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut conn = Conn {
[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: unused variable: `session`
[INFO] [stdout]   --> src/common/packets/register_response.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |             RegisterResponse::Client { accepted, session } => *accepted,
[INFO] [stdout]    |                                                  ^^^^^^^ help: try ignoring the field: `session: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/common/packets/register_response.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 |             RegisterResponse::Port { port } => true,
[INFO] [stdout]    |                                      ^^^^ help: try ignoring the field: `port: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn read(&self) -> LockResult<RwLockReadGuard<Connection>>;
[INFO] [stdout]     |             ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn read(&self) -> LockResult<RwLockReadGuard<'_, Connection>>;
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn write(&self) -> LockResult<RwLockWriteGuard<Connection>>;
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn write(&self) -> LockResult<RwLockWriteGuard<'_, Connection>>;
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn read(&self) -> LockResult<RwLockReadGuard<Connection>> {
[INFO] [stdout]     |             ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn read(&self) -> LockResult<RwLockReadGuard<'_, Connection>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:213:14
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn write(&self) -> LockResult<RwLockWriteGuard<Connection>> {
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn write(&self) -> LockResult<RwLockWriteGuard<'_, Connection>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/connection.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         socket.send_to(&bytes, &addr.into());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 317 |         let _ = socket.send_to(&bytes, &addr.into());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/connection.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         socket.set_nonblocking(false);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let _ = socket.set_nonblocking(false);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/response.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         conn.set_ttl(3600);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let _ = conn.set_ttl(3600);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:214:45
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...                   self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |                                             let _ = self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let _ = self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn read(&self) -> LockResult<RwLockReadGuard<Connection>>;
[INFO] [stdout]     |             ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn read(&self) -> LockResult<RwLockReadGuard<'_, Connection>>;
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn write(&self) -> LockResult<RwLockWriteGuard<Connection>>;
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn write(&self) -> LockResult<RwLockWriteGuard<'_, Connection>>;
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn read(&self) -> LockResult<RwLockReadGuard<Connection>> {
[INFO] [stdout]     |             ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |             |
[INFO] [stdout]     |             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn read(&self) -> LockResult<RwLockReadGuard<'_, Connection>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/connection.rs:213:14
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn write(&self) -> LockResult<RwLockWriteGuard<Connection>> {
[INFO] [stdout]     |              ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |              |
[INFO] [stdout]     |              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn write(&self) -> LockResult<RwLockWriteGuard<'_, Connection>> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/connection.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         socket.send_to(&bytes, &addr.into());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 317 |         let _ = socket.send_to(&bytes, &addr.into());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/connection.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         socket.set_nonblocking(false);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 319 |         let _ = socket.set_nonblocking(false);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/response.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         conn.set_ttl(3600);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let _ = conn.set_ttl(3600);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:214:45
[INFO] [stdout]     |
[INFO] [stdout] 214 | ...                   self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |                                             let _ = self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/server/mod.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let _ = self.conn_udp.send_to(&mut bytes, &from);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> examples/client.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{random, Rng};
[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 `Result` that must be used
[INFO] [stdout]   --> examples/client.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | /     socket.bind(&SockAddr::from(
[INFO] [stdout] 58 | |         "0.0.0.0:0".to_socket_addrs().unwrap().next().unwrap(),
[INFO] [stdout] 59 | |     ));
[INFO] [stdout]    | |______^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 57 |     let _ = socket.bind(&SockAddr::from(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.25s
[INFO] running `Command { std: "docker" "inspect" "490558b7794cf85419f1056212e64535ad84e867c9e5d6338c465646c5a29014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "490558b7794cf85419f1056212e64535ad84e867c9e5d6338c465646c5a29014", kill_on_drop: false }`
[INFO] [stdout] 490558b7794cf85419f1056212e64535ad84e867c9e5d6338c465646c5a29014
