[INFO] cloning repository https://github.com/assemblaj/Ikemen-GO-Steam-Launcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/assemblaj/Ikemen-GO-Steam-Launcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fassemblaj%2FIkemen-GO-Steam-Launcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fassemblaj%2FIkemen-GO-Steam-Launcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cb1c1fba2d04918386d78c2eb474808680bc65ef
[INFO] checking assemblaj/Ikemen-GO-Steam-Launcher against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fassemblaj%2FIkemen-GO-Steam-Launcher" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/assemblaj/Ikemen-GO-Steam-Launcher
[INFO] finished tweaking git repo https://github.com/assemblaj/Ikemen-GO-Steam-Launcher
[INFO] tweaked toml for git repo https://github.com/assemblaj/Ikemen-GO-Steam-Launcher written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/assemblaj/Ikemen-GO-Steam-Launcher on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/assemblaj/Ikemen-GO-Steam-Launcher 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded async-stream v0.3.5
[INFO] [stderr]   Downloaded prost v0.12.3
[INFO] [stderr]   Downloaded async-stream-impl v0.3.5
[INFO] [stderr]   Downloaded prost-types v0.12.3
[INFO] [stderr]   Downloaded errno v0.3.7
[INFO] [stderr]   Downloaded prost-build v0.12.3
[INFO] [stderr]   Downloaded termcolor v1.4.0
[INFO] [stderr]   Downloaded env_logger v0.10.1
[INFO] [stderr]   Downloaded tonic v0.10.2
[INFO] [stderr]   Downloaded prost-derive v0.12.3
[INFO] [stderr]   Downloaded steamworks v0.10.0
[INFO] [stderr]   Downloaded tonic-build v0.10.2
[INFO] [stderr]   Downloaded steamworks-sys v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df79b4375488a0129fd0ca8c018afff4621fd5bc51b315a1ac16a752e410e7cb
[INFO] running `Command { std: "docker" "start" "-a" "df79b4375488a0129fd0ca8c018afff4621fd5bc51b315a1ac16a752e410e7cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df79b4375488a0129fd0ca8c018afff4621fd5bc51b315a1ac16a752e410e7cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df79b4375488a0129fd0ca8c018afff4621fd5bc51b315a1ac16a752e410e7cb", kill_on_drop: false }`
[INFO] [stdout] df79b4375488a0129fd0ca8c018afff4621fd5bc51b315a1ac16a752e410e7cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1f87541d0b442bd983ef5098a8cbadbb0c342782fd4e7e3ac5a6aa7a9e5053c
[INFO] running `Command { std: "docker" "start" "-a" "e1f87541d0b442bd983ef5098a8cbadbb0c342782fd4e7e3ac5a6aa7a9e5053c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]    Compiling rustix v0.38.25
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling linux-raw-sys v0.4.11
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling prettyplease v0.2.15
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking hashbrown v0.14.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling home v0.5.5
[INFO] [stderr]     Checking http v0.2.11
[INFO] [stderr]     Checking try-lock v0.2.4
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling async-trait v0.1.74
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling steamworks-sys v0.10.0
[INFO] [stderr]     Checking http-body v0.4.5
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking regex-automata v0.4.3
[INFO] [stderr]     Checking base64 v0.21.5
[INFO] [stderr]     Checking termcolor v1.4.0
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking socket2 v0.5.5
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling tempfile v3.8.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]     Checking regex v1.10.2
[INFO] [stderr]     Checking env_logger v0.10.1
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling prost-derive v0.12.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking tokio v1.34.0
[INFO] [stderr]     Checking pin-project v1.1.3
[INFO] [stderr]     Checking steamworks v0.10.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling prost v0.12.3
[INFO] [stderr]    Compiling prost-types v0.12.3
[INFO] [stderr]    Compiling prost-build v0.12.3
[INFO] [stderr]    Compiling tonic-build v0.10.2
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]    Compiling ikemen_steam v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `env` and `path::PathBuf`
[INFO] [stdout]  --> build.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, path::PathBuf};
[INFO] [stdout]   |           ^^^  ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking h2 v0.3.22
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v0.14.27
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking tonic v0.10.2
[INFO] [stdout] warning: unused import: `steam::AcceptedPeersRequest`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use steam::AcceptedPeersRequest;
[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: `steam::AcceptedPeersResponse`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use steam::AcceptedPeersResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steam::IsPeerAcceptedRequest`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use steam::IsPeerAcceptedRequest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steam::IsPeerAcceptedResponse`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use steam::IsPeerAcceptedResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::AppId`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use steamworks::AppId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::ClientManager`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use steamworks::ClientManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle` and `self`
[INFO] [stdout]   --> src/main.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FriendState` and `FriendsListRequest`
[INFO] [stdout]   --> src/main.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use steam::{FriendsListRequest, FriendsListResponse, Friend, FriendState}; 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsP2pPacketAvailableRequest`
[INFO] [stdout]   --> src/main.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 | use steam::{IsP2pPacketAvailableRequest, IsP2pPacketAvailableResponse}; 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::Networking`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use steamworks::Networking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/main.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::io::{BufReader, BufRead};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Request`, `Response`, and `Status`
[INFO] [stdout]   --> src/main.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tonic::{Request, Response, Status};
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tonic::transport::Server`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use tonic::transport::Server;   
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::AppId`
[INFO] [stdout]  --> src/grpc/bin/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use steamworks::AppId;
[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: `steamworks::ClientManager`
[INFO] [stdout]  --> src/grpc/bin/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use steamworks::ClientManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/grpc/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JoinHandle`
[INFO] [stdout]   --> src/grpc/bin/main.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FriendState`
[INFO] [stdout]   --> src/grpc/bin/main.rs:18:62
[INFO] [stdout]    |
[INFO] [stdout] 18 | use steam::{FriendsListRequest, FriendsListResponse, Friend, FriendState}; 
[INFO] [stdout]    |                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::Networking`
[INFO] [stdout]   --> src/grpc/bin/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use steamworks::Networking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steam::AcceptedPeersRequest`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use steam::AcceptedPeersRequest;
[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: `steam::AcceptedPeersResponse`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use steam::AcceptedPeersResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steam::IsPeerAcceptedRequest`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use steam::IsPeerAcceptedRequest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steam::IsPeerAcceptedResponse`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use steam::IsPeerAcceptedResponse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::AppId`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use steamworks::AppId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::ClientManager`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use steamworks::ClientManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle` and `self`
[INFO] [stdout]   --> src/main.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FriendState` and `FriendsListRequest`
[INFO] [stdout]   --> src/main.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use steam::{FriendsListRequest, FriendsListResponse, Friend, FriendState}; 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsP2pPacketAvailableRequest`
[INFO] [stdout]   --> src/main.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 | use steam::{IsP2pPacketAvailableRequest, IsP2pPacketAvailableResponse}; 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::Networking`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use steamworks::Networking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/main.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::io::{BufReader, BufRead};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Request`, `Response`, and `Status`
[INFO] [stdout]   --> src/main.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tonic::{Request, Response, Status};
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tonic::transport::Server`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use tonic::transport::Server;   
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::AppId`
[INFO] [stdout]  --> src/grpc/bin/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use steamworks::AppId;
[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: `steamworks::ClientManager`
[INFO] [stdout]  --> src/grpc/bin/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use steamworks::ClientManager;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]   --> src/grpc/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::sync::mpsc::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JoinHandle`
[INFO] [stdout]   --> src/grpc/bin/main.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, JoinHandle};
[INFO] [stdout]    |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FriendState`
[INFO] [stdout]   --> src/grpc/bin/main.rs:18:62
[INFO] [stdout]    |
[INFO] [stdout] 18 | use steam::{FriendsListRequest, FriendsListResponse, Friend, FriendState}; 
[INFO] [stdout]    |                                                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `steamworks::Networking`
[INFO] [stdout]   --> src/grpc/bin/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use steamworks::Networking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 289 | /     loop {
[INFO] [stdout] 290 | |         single.run_callbacks(); 
[INFO] [stdout] 291 | |         if let Ok(user) = reciever_accept.try_recv() {
[INFO] [stdout] 292 | |             client.networking().accept_p2p_session(user)
[INFO] [stdout] ...   |
[INFO] [stdout] 440 | |         ::std::thread::sleep(::std::time::Duration::from_millis(16));
[INFO] [stdout] 441 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 442 |               
[INFO] [stdout] 443 |       game.wait().unwrap();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/main.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 289 | /     loop {
[INFO] [stdout] 290 | |         single.run_callbacks(); 
[INFO] [stdout] 291 | |         if let Ok(user) = reciever_accept.try_recv() {
[INFO] [stdout] 292 | |             client.networking().accept_p2p_session(user)
[INFO] [stdout] ...   |
[INFO] [stdout] 440 | |         ::std::thread::sleep(::std::time::Duration::from_millis(16));
[INFO] [stdout] 441 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 442 |               
[INFO] [stdout] 443 |       game.wait().unwrap();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/main.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]    |                                             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_callback_client`
[INFO] [stdout]   --> src/main.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let req_callback_client = client.clone(); 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_callback_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 let mut buffer = empty_array.as_mut_slice();
[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: `p`
[INFO] [stdout]    --> src/main.rs:261:41
[INFO] [stdout]     |
[INFO] [stdout] 261 |     let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_handles` is never read
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct SteamService {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     callback_handles: Vec<CallbackHandle>, 
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl SteamService {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 48 |     fn new() -> (SteamService, SingleClient, Arc<Client>, std::sync::mpsc::Receiver<steamworks::SteamId> ) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Engine {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 183 |     fn new() -> Result<Engine, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             std::env::set_current_dir("./bin/");
[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] 207 |             let _ = std::env::set_current_dir("./bin/");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |             std::env::set_current_dir(dir);
[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] 209 |             let _ = std::env::set_current_dir(dir);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 324 |         stdout_reader.read_exact(message_buf.as_mut_slice());
[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] 324 |         let _ = stdout_reader.read_exact(message_buf.as_mut_slice());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:346:16
[INFO] [stdout]     |
[INFO] [stdout] 346 |                prost::Message::encode(&resp, &mut resp_buffer); 
[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] 346 |                let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:353:16
[INFO] [stdout]     |
[INFO] [stdout] 353 |                stdin_writer.write_all(&resp_buffer); 
[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] 353 |                let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:354:16
[INFO] [stdout]     |
[INFO] [stdout] 354 |                stdin_writer.flush(); 
[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] 354 |                let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:375:17
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 375 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:382:17
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 stdin_writer.write_all(&resp_buffer); 
[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] 382 |                 let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:383:17
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 stdin_writer.flush(); 
[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] 383 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 400 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:407:17
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 stdin_writer.write_all(&resp_buffer); 
[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] 407 |                 let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 |                 stdin_writer.flush(); 
[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] 408 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 423 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 stdin_writer.write_all(&resp_buffer);
[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] 430 |                 let _ = stdin_writer.write_all(&resp_buffer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:431:17
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 stdin_writer.flush(); 
[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] 431 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/main.rs:54:45
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]    |                                             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_callback_client`
[INFO] [stdout]   --> src/main.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let req_callback_client = client.clone(); 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_callback_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 let mut buffer = empty_array.as_mut_slice();
[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: `p`
[INFO] [stdout]    --> src/main.rs:261:41
[INFO] [stdout]     |
[INFO] [stdout] 261 |     let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_handles` is never read
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct SteamService {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     callback_handles: Vec<CallbackHandle>, 
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl SteamService {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 48 |     fn new() -> (SteamService, SingleClient, Arc<Client>, std::sync::mpsc::Receiver<steamworks::SteamId> ) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Engine {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 183 |     fn new() -> Result<Engine, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             std::env::set_current_dir("./bin/");
[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] 207 |             let _ = std::env::set_current_dir("./bin/");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |             std::env::set_current_dir(dir);
[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] 209 |             let _ = std::env::set_current_dir(dir);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 324 |         stdout_reader.read_exact(message_buf.as_mut_slice());
[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] 324 |         let _ = stdout_reader.read_exact(message_buf.as_mut_slice());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:346:16
[INFO] [stdout]     |
[INFO] [stdout] 346 |                prost::Message::encode(&resp, &mut resp_buffer); 
[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] 346 |                let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:353:16
[INFO] [stdout]     |
[INFO] [stdout] 353 |                stdin_writer.write_all(&resp_buffer); 
[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] 353 |                let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:354:16
[INFO] [stdout]     |
[INFO] [stdout] 354 |                stdin_writer.flush(); 
[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] 354 |                let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:375:17
[INFO] [stdout]     |
[INFO] [stdout] 375 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 375 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:382:17
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 stdin_writer.write_all(&resp_buffer); 
[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] 382 |                 let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:383:17
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 stdin_writer.flush(); 
[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] 383 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 400 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:407:17
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 stdin_writer.write_all(&resp_buffer); 
[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] 407 |                 let _ = stdin_writer.write_all(&resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 |                 stdin_writer.flush(); 
[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] 408 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |                 prost::Message::encode(&resp, &mut resp_buffer); 
[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] 423 |                 let _ = prost::Message::encode(&resp, &mut resp_buffer); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:430:17
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 stdin_writer.write_all(&resp_buffer);
[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] 430 |                 let _ = stdin_writer.write_all(&resp_buffer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:431:17
[INFO] [stdout]     |
[INFO] [stdout] 431 |                 stdin_writer.flush(); 
[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] 431 |                 let _ = stdin_writer.flush(); 
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/grpc/bin/main.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]    |                                             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_callback_client`
[INFO] [stdout]   --> src/grpc/bin/main.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let req_callback_client = client.clone(); 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_callback_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> src/grpc/bin/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         request: Request<UserInfoRequest>
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/grpc/bin/main.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut buffer = empty_array.as_mut_slice();
[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: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         request: Request<IsP2pPacketAvailableRequest>
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         request: Request<FriendsListRequest> 
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |         request: Request<AcceptedPeersRequest>
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steam_id`
[INFO] [stdout]    --> src/grpc/bin/main.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Some(steam_id) => true,
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_steam_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/grpc/bin/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let handle = thread::spawn(move || {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single_handle`
[INFO] [stdout]    --> src/grpc/bin/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let single_handle = thread::spawn(move || {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_single_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_handles` is never read
[INFO] [stdout]   --> src/grpc/bin/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SteamService {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     callback_handles: Vec<CallbackHandle>, 
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             std::env::set_current_dir("./bin/");
[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] 213 |             let _ = std::env::set_current_dir("./bin/");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             std::env::set_current_dir(dir);
[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] 215 |             let _ = std::env::set_current_dir(dir);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 |          thread_engine.call(b"StartGame");
[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] 228 |          let _ = thread_engine.call(b"StartGame");
[INFO] [stdout]     |          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/grpc/bin/main.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let _cb = client.register_callback(|p: PersonaStateChange| {});
[INFO] [stdout]    |                                             ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req_callback_client`
[INFO] [stdout]   --> src/grpc/bin/main.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let req_callback_client = client.clone(); 
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_req_callback_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> src/grpc/bin/main.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         request: Request<UserInfoRequest>
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/grpc/bin/main.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut buffer = empty_array.as_mut_slice();
[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: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         request: Request<IsP2pPacketAvailableRequest>
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         request: Request<FriendsListRequest> 
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/grpc/bin/main.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |         request: Request<AcceptedPeersRequest>
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `steam_id`
[INFO] [stdout]    --> src/grpc/bin/main.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 174 |             Some(steam_id) => true,
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_steam_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/grpc/bin/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let handle = thread::spawn(move || {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `single_handle`
[INFO] [stdout]    --> src/grpc/bin/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let single_handle = thread::spawn(move || {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_single_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `callback_handles` is never read
[INFO] [stdout]   --> src/grpc/bin/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SteamService {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     callback_handles: Vec<CallbackHandle>, 
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             std::env::set_current_dir("./bin/");
[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] 213 |             let _ = std::env::set_current_dir("./bin/");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             std::env::set_current_dir(dir);
[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] 215 |             let _ = std::env::set_current_dir(dir);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/grpc/bin/main.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 |          thread_engine.call(b"StartGame");
[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] 228 |          let _ = thread_engine.call(b"StartGame");
[INFO] [stdout]     |          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.65s
[INFO] running `Command { std: "docker" "inspect" "e1f87541d0b442bd983ef5098a8cbadbb0c342782fd4e7e3ac5a6aa7a9e5053c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1f87541d0b442bd983ef5098a8cbadbb0c342782fd4e7e3ac5a6aa7a9e5053c", kill_on_drop: false }`
[INFO] [stdout] e1f87541d0b442bd983ef5098a8cbadbb0c342782fd4e7e3ac5a6aa7a9e5053c
