[INFO] cloning repository https://github.com/MartGon/Concord [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MartGon/Concord" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartGon%2FConcord", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartGon%2FConcord'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fda1341aff3e6da8466039b0e0ed04f1273afc40 [INFO] checking MartGon/Concord against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMartGon%2FConcord" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MartGon/Concord [INFO] finished tweaking git repo https://github.com/MartGon/Concord [INFO] tweaked toml for git repo https://github.com/MartGon/Concord written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MartGon/Concord on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MartGon/Concord 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b091f612cb9905ae362fcb75dfbf8b859061621f30a8cb49ca6f507f3e4078f3 [INFO] running `Command { std: "docker" "start" "-a" "b091f612cb9905ae362fcb75dfbf8b859061621f30a8cb49ca6f507f3e4078f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b091f612cb9905ae362fcb75dfbf8b859061621f30a8cb49ca6f507f3e4078f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b091f612cb9905ae362fcb75dfbf8b859061621f30a8cb49ca6f507f3e4078f3", kill_on_drop: false }` [INFO] [stdout] b091f612cb9905ae362fcb75dfbf8b859061621f30a8cb49ca6f507f3e4078f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4297f8acdc18169cb4cfb5c340edf989bdfa4e236c21dd3826e84ff1c9cab964 [INFO] running `Command { std: "docker" "start" "-a" "4297f8acdc18169cb4cfb5c340edf989bdfa4e236c21dd3826e84ff1c9cab964", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling typenum v1.14.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Checking pin-project-lite v0.2.7 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Compiling jobserver v0.1.24 [INFO] [stderr] Checking cpufeatures v0.2.1 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking ppv-lite86 v0.2.15 [INFO] [stderr] Checking smallvec v1.7.0 [INFO] [stderr] Checking lock_api v0.4.5 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Compiling tokio v1.13.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking futures-sink v0.3.17 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Checking matches v0.1.9 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Checking opaque-debug v0.3.0 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Checking tinyvec v1.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling zstd-sys v1.6.3+zstd.1.5.2 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Checking slab v0.4.5 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking block-buffer v0.10.2 [INFO] [stderr] Checking crypto-common v0.1.3 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking digest v0.10.3 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling pkg-config v0.3.24 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Checking unicode-bidi v0.3.7 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Compiling bzip2-sys v0.1.11+1.0.8 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling zstd-safe v4.1.4+zstd.1.5.2 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking input_buffer v0.4.0 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking tracing v0.1.29 [INFO] [stderr] Checking base64ct v1.0.1 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Compiling serde_json v1.0.69 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking buf_redux v0.8.4 [INFO] [stderr] Checking password-hash v0.3.2 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking http-body v0.4.4 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha2 v0.10.2 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Checking twoway v0.1.8 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Checking num_threads v0.1.5 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking futures-io v0.3.17 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Compiling time-macros v0.2.3 [INFO] [stderr] Checking futures v0.3.17 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Checking flate2 v1.0.22 [INFO] [stderr] Checking headers v0.3.5 [INFO] [stderr] Checking pbkdf2 v0.10.1 [INFO] [stderr] Checking tungstenite v0.12.0 [INFO] [stderr] Checking multipart v0.17.1 [INFO] [stderr] Checking sha1 v0.10.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking array-init v2.0.0 [INFO] [stderr] Checking constant_time_eq v0.1.5 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking linked-hash-map v0.5.4 [INFO] [stderr] Checking textwrap v0.15.0 [INFO] [stderr] Checking same-file v0.1.3 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking walkdir v1.0.7 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking ringbuffer v0.8.2 [INFO] [stderr] Checking time v0.3.7 [INFO] [stderr] Checking regex v1.5.5 [INFO] [stderr] Checking bzip2 v0.4.3 [INFO] [stderr] Compiling tokio-macros v1.5.1 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling clap_derive v3.1.4 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking clap v3.1.6 [INFO] [stderr] Checking tokio-util v0.6.9 [INFO] [stderr] Checking tokio-stream v0.1.8 [INFO] [stderr] Checking tokio-tungstenite v0.13.0 [INFO] [stderr] Checking h2 v0.3.7 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking hyper v0.14.14 [INFO] [stderr] Checking warp v0.3.1 [INFO] [stderr] Checking zstd v0.10.0+zstd.1.5.2 [INFO] [stderr] Checking zip v0.6.0 [INFO] [stderr] Checking blockbuster-mm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `matchmaking::entity` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use matchmaking::entity; [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: `matchmaking::entity` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use matchmaking::entity; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `game_id` is never read [INFO] [stdout] --> src/matchmaking/entity.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct GameSem{ [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 110 | pub game_id : uuid::Uuid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameSem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListGames` is never constructed [INFO] [stdout] --> src/matchmaking/payload.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ListGames [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ServerCrashed` is never constructed [INFO] [stdout] --> src/matchmaking/endpoints.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 603 | enum LaunchServerError [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] 604 | { [INFO] [stdout] 605 | ServerCrashed, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / #[clap(short, long)] [INFO] [stdout] 18 | | address: String, [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / #[clap(short, long)] [INFO] [stdout] 22 | | game_address: String, [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / #[clap(short, long)] [INFO] [stdout] 30 | | server_path: String, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | / #[clap(short, long, default_value = "./maps")] [INFO] [stdout] 34 | | maps_folder : String, [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SLEEP_DURATION` should have a snake case name [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let SLEEP_DURATION = std::time::Duration::from_secs(5); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sleep_duration` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MAX_DURATION` should have a snake case name [INFO] [stdout] --> src/main.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let MAX_DURATION = std::time::Duration::from_secs(60 * 3); // 3 MIN [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `max_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / { [INFO] [stdout] 118 | | let res = join_game_as(&db, join_game_req.player_id, join_game_req.game_id, false); [INFO] [stdout] 119 | | if let Ok(player_game) = res [INFO] [stdout] ... | [INFO] [stdout] 137 | | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 138 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / { [INFO] [stdout] 118 | | let res = join_game_as(&db, join_game_req.player_id, join_game_req.game_id, false); [INFO] [stdout] 119 | | if let Ok(player_game) = res [INFO] [stdout] ... | [INFO] [stdout] 137 | | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 138 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | return Ok(warp::reply::with_status(warp::reply::json(&response), warp::http::StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | / { [INFO] [stdout] 144 | | let player_id = leave_game_req.player_id; [INFO] [stdout] 145 | | [INFO] [stdout] 146 | | leave_game_fn(&db, player_id); [INFO] [stdout] 147 | | [INFO] [stdout] 148 | | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | / { [INFO] [stdout] 144 | | let player_id = leave_game_req.player_id; [INFO] [stdout] 145 | | [INFO] [stdout] 146 | | leave_game_fn(&db, player_id); [INFO] [stdout] 147 | | [INFO] [stdout] 148 | | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | / { [INFO] [stdout] 154 | | let player_id = toggle_ready_req.player_id; [INFO] [stdout] 155 | | if let Some(mut player_game) = db.player_game_table.get(&player_id) [INFO] [stdout] ... | [INFO] [stdout] 173 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 174 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | return Ok(reply::with_status(reply::json(&response), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:169:20 [INFO] [stdout] | [INFO] [stdout] 169 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | / { [INFO] [stdout] 179 | | let player_id = scm_req.player_id; [INFO] [stdout] 180 | | if let Some(player_game) = db.player_game_table.get(&player_id) [INFO] [stdout] ... | [INFO] [stdout] 196 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 197 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:196:16 [INFO] [stdout] | [INFO] [stdout] 196 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | / { [INFO] [stdout] 201 | | let game_id = update_game_req.game_id; [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | if let Some(game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 219 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | / { [INFO] [stdout] 201 | | let game_id = update_game_req.game_id; [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | if let Some(game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 219 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::sync::MutexGuard` in tuple element 0 that must be used [INFO] [stdout] --> src/matchmaking/endpoints.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | game_sem.sem.wait_timeout(game_sem.mutex.lock().unwrap(), Duration::from_secs(5)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if unused the Mutex will immediately unlock [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:214:24 [INFO] [stdout] | [INFO] [stdout] 214 | return Ok(warp::reply::with_status(warp::reply::json(&response), warp::http::StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / { [INFO] [stdout] 226 | | let game_id = start_game_req.game_id; [INFO] [stdout] 227 | | [INFO] [stdout] 228 | | if let Some(mut game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 263 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 264 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | ... return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:257:24 [INFO] [stdout] | [INFO] [stdout] 257 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 339 | / { [INFO] [stdout] 340 | | let map = map_picture_req.map_name; [INFO] [stdout] ... | [INFO] [stdout] 373 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | return Ok(reply::with_status(reply::json(&err), StatusCode::FORBIDDEN)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:363:24 [INFO] [stdout] | [INFO] [stdout] 363 | return Ok(reply::with_status(reply::json(&response), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:368:24 [INFO] [stdout] | [INFO] [stdout] 368 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:373:16 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | / { [INFO] [stdout] 449 | | use payload::request::ServerEvent; [INFO] [stdout] 450 | | let event_type = server_event.event; [INFO] [stdout] ... | [INFO] [stdout] 477 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | / { [INFO] [stdout] 449 | | use payload::request::ServerEvent; [INFO] [stdout] 450 | | let event_type = server_event.event; [INFO] [stdout] ... | [INFO] [stdout] 477 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:469:24 [INFO] [stdout] | [INFO] [stdout] 469 | return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:473:20 [INFO] [stdout] | [INFO] [stdout] 473 | return Ok(reply::with_status(reply::json(&err), StatusCode::FORBIDDEN)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/matchmaking/database.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | fn lock(&self) -> std::sync::MutexGuard>{ [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] 69 | fn lock(&self) -> std::sync::MutexGuard<'_, HashMap>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `blockbuster-mm` (bin "blockbuster-mm" test) due to 39 previous errors; 8 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `game_id` is never read [INFO] [stdout] --> src/matchmaking/entity.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct GameSem{ [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 110 | pub game_id : uuid::Uuid, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameSem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ListGames` is never constructed [INFO] [stdout] --> src/matchmaking/payload.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ListGames [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ServerCrashed` is never constructed [INFO] [stdout] --> src/matchmaking/endpoints.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 603 | enum LaunchServerError [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] 604 | { [INFO] [stdout] 605 | ServerCrashed, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / #[clap(short, long)] [INFO] [stdout] 18 | | address: String, [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | / #[clap(short, long)] [INFO] [stdout] 22 | | game_address: String, [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / #[clap(short, long)] [INFO] [stdout] 30 | | server_path: String, [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | / #[clap(short, long, default_value = "./maps")] [INFO] [stdout] 34 | | maps_folder : String, [INFO] [stdout] | |________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `SLEEP_DURATION` should have a snake case name [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let SLEEP_DURATION = std::time::Duration::from_secs(5); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `sleep_duration` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `MAX_DURATION` should have a snake case name [INFO] [stdout] --> src/main.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let MAX_DURATION = std::time::Duration::from_secs(60 * 3); // 3 MIN [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `max_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / { [INFO] [stdout] 118 | | let res = join_game_as(&db, join_game_req.player_id, join_game_req.game_id, false); [INFO] [stdout] 119 | | if let Ok(player_game) = res [INFO] [stdout] ... | [INFO] [stdout] 137 | | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 138 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / { [INFO] [stdout] 118 | | let res = join_game_as(&db, join_game_req.player_id, join_game_req.game_id, false); [INFO] [stdout] 119 | | if let Ok(player_game) = res [INFO] [stdout] ... | [INFO] [stdout] 137 | | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 138 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | return Ok(warp::reply::with_status(warp::reply::json(&response), warp::http::StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | Ok(warp::reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | / { [INFO] [stdout] 144 | | let player_id = leave_game_req.player_id; [INFO] [stdout] 145 | | [INFO] [stdout] 146 | | leave_game_fn(&db, player_id); [INFO] [stdout] 147 | | [INFO] [stdout] 148 | | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | / { [INFO] [stdout] 144 | | let player_id = leave_game_req.player_id; [INFO] [stdout] 145 | | [INFO] [stdout] 146 | | leave_game_fn(&db, player_id); [INFO] [stdout] 147 | | [INFO] [stdout] 148 | | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] 149 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | / { [INFO] [stdout] 154 | | let player_id = toggle_ready_req.player_id; [INFO] [stdout] 155 | | if let Some(mut player_game) = db.player_game_table.get(&player_id) [INFO] [stdout] ... | [INFO] [stdout] 173 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 174 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | return Ok(reply::with_status(reply::json(&response), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:169:20 [INFO] [stdout] | [INFO] [stdout] 169 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:173:16 [INFO] [stdout] | [INFO] [stdout] 173 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | / { [INFO] [stdout] 179 | | let player_id = scm_req.player_id; [INFO] [stdout] 180 | | if let Some(player_game) = db.player_game_table.get(&player_id) [INFO] [stdout] ... | [INFO] [stdout] 196 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 197 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:196:16 [INFO] [stdout] | [INFO] [stdout] 196 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | / { [INFO] [stdout] 201 | | let game_id = update_game_req.game_id; [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | if let Some(game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 219 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | / { [INFO] [stdout] 201 | | let game_id = update_game_req.game_id; [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | if let Some(game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 219 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 220 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::sync::MutexGuard` in tuple element 0 that must be used [INFO] [stdout] --> src/matchmaking/endpoints.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | game_sem.sem.wait_timeout(game_sem.mutex.lock().unwrap(), Duration::from_secs(5)).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if unused the Mutex will immediately unlock [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:214:24 [INFO] [stdout] | [INFO] [stdout] 214 | return Ok(warp::reply::with_status(warp::reply::json(&response), warp::http::StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / { [INFO] [stdout] 226 | | let game_id = start_game_req.game_id; [INFO] [stdout] 227 | | [INFO] [stdout] 228 | | if let Some(mut game) = db.game_table.get(&game_id) [INFO] [stdout] ... | [INFO] [stdout] 263 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 264 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | ... return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:257:24 [INFO] [stdout] | [INFO] [stdout] 257 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | return Ok(reply::with_status(reply::json(&err), StatusCode::BAD_REQUEST)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:263:16 [INFO] [stdout] | [INFO] [stdout] 263 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 339 | / { [INFO] [stdout] 340 | | let map = map_picture_req.map_name; [INFO] [stdout] ... | [INFO] [stdout] 373 | | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] 374 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | return Ok(reply::with_status(reply::json(&err), StatusCode::FORBIDDEN)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:363:24 [INFO] [stdout] | [INFO] [stdout] 363 | return Ok(reply::with_status(reply::json(&response), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:368:24 [INFO] [stdout] | [INFO] [stdout] 368 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:373:16 [INFO] [stdout] | [INFO] [stdout] 373 | return Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | / { [INFO] [stdout] 449 | | use payload::request::ServerEvent; [INFO] [stdout] 450 | | let event_type = server_event.event; [INFO] [stdout] ... | [INFO] [stdout] 477 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:448:5 [INFO] [stdout] | [INFO] [stdout] 448 | / { [INFO] [stdout] 449 | | use payload::request::ServerEvent; [INFO] [stdout] 450 | | let event_type = server_event.event; [INFO] [stdout] ... | [INFO] [stdout] 477 | | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] 478 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:469:24 [INFO] [stdout] | [INFO] [stdout] 469 | return Ok(reply::with_status(reply::json(&"".to_string()), StatusCode::OK)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:473:20 [INFO] [stdout] | [INFO] [stdout] 473 | return Ok(reply::with_status(reply::json(&err), StatusCode::FORBIDDEN)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/matchmaking/endpoints.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | Ok(reply::with_status(reply::json(&err), StatusCode::NOT_FOUND)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/matchmaking/database.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | fn lock(&self) -> std::sync::MutexGuard>{ [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] 69 | fn lock(&self) -> std::sync::MutexGuard<'_, HashMap>{ [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `blockbuster-mm` (bin "blockbuster-mm") due to 39 previous errors; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4297f8acdc18169cb4cfb5c340edf989bdfa4e236c21dd3826e84ff1c9cab964", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4297f8acdc18169cb4cfb5c340edf989bdfa4e236c21dd3826e84ff1c9cab964", kill_on_drop: false }` [INFO] [stdout] 4297f8acdc18169cb4cfb5c340edf989bdfa4e236c21dd3826e84ff1c9cab964