[INFO] cloning repository https://github.com/asifZaman0362/zgm-srv [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/asifZaman0362/zgm-srv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2Fzgm-srv", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2Fzgm-srv'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5c60ece0d42d909000d0fdd2ebed13051c8d8c57 [INFO] checking asifZaman0362/zgm-srv against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2Fzgm-srv" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/asifZaman0362/zgm-srv on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/asifZaman0362/zgm-srv [INFO] finished tweaking git repo https://github.com/asifZaman0362/zgm-srv [INFO] tweaked toml for git repo https://github.com/asifZaman0362/zgm-srv written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/asifZaman0362/zgm-srv 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded actix-ws v0.2.5 [INFO] [stderr] Downloaded actix-web-actors v4.3.0 [INFO] [stderr] Downloaded env_filter v0.1.0 [INFO] [stderr] Downloaded actix v0.13.3 [INFO] [stderr] Downloaded env_logger v0.11.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a99526dda1d39fc1a6f807b478681716d8e9afe0802b640bc2e34ff354e4ae56 [INFO] running `Command { std: "docker" "start" "-a" "a99526dda1d39fc1a6f807b478681716d8e9afe0802b640bc2e34ff354e4ae56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a99526dda1d39fc1a6f807b478681716d8e9afe0802b640bc2e34ff354e4ae56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a99526dda1d39fc1a6f807b478681716d8e9afe0802b640bc2e34ff354e4ae56", kill_on_drop: false }` [INFO] [stdout] a99526dda1d39fc1a6f807b478681716d8e9afe0802b640bc2e34ff354e4ae56 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b0eeec22301928852cfecfecfa7d25aab477a1e3d79f1a4d6749b58357c16cf [INFO] running `Command { std: "docker" "start" "-a" "2b0eeec22301928852cfecfecfa7d25aab477a1e3d79f1a4d6749b58357c16cf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Compiling syn v2.0.52 [INFO] [stderr] Checking local-waker v0.1.4 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling zstd-safe v7.0.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling itoa v1.0.10 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Checking indexmap v2.2.5 [INFO] [stderr] Checking actix-utils v3.0.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Checking actix-service v2.0.2 [INFO] [stderr] Compiling bytestring v1.3.1 [INFO] [stderr] Compiling jobserver v0.1.28 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling serde_json v1.0.114 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling cc v1.0.90 [INFO] [stderr] Checking time v0.3.34 [INFO] [stderr] Checking brotli v3.4.0 [INFO] [stderr] Checking local-channel v0.1.5 [INFO] [stderr] Checking language-tags v0.3.2 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Compiling regex-automata v0.4.6 [INFO] [stderr] Compiling zstd-sys v2.0.9+zstd.1.5.5 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking actix-rt v2.9.0 [INFO] [stderr] Checking actix-server v2.3.0 [INFO] [stderr] Checking actix-codec v0.5.2 [INFO] [stderr] Checking h2 v0.3.24 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling actix-router v0.5.2 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Compiling actix_derive v0.6.1 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Compiling actix-web-codegen v4.2.2 [INFO] [stderr] Checking actix v0.13.3 [INFO] [stderr] Checking zstd v0.13.0 [INFO] [stderr] Checking actix-http v3.6.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking actix-web v4.5.1 [INFO] [stderr] Checking actix-ws v0.2.5 [INFO] [stderr] Checking actix-web-actors v4.3.0 [INFO] [stderr] Checking zgm-srv v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `RoomCode` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::RoomCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `RoomCode` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TransientId` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `TransientId` is already imported here [INFO] [stdout] 3 | use crate::game::{Game, GameController, GameMode, Input}; [INFO] [stdout] 4 | use crate::session::TransientId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Session` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Session` is already imported here [INFO] [stdout] ... [INFO] [stdout] 6 | actor::{ClearRoom, RestoreState, SerializedMessage, Session}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Actor` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Actor` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ActorContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `ActorContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Addr` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Addr` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsyncContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `AsyncContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Context` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:54 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Context` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Handler` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:63 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Handler` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMapExt` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMapExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `RoomCode` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::RoomCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `RoomCode` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TransientId` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `TransientId` is already imported here [INFO] [stdout] 3 | use crate::game::{Game, GameController, GameMode, Input}; [INFO] [stdout] 4 | use crate::session::TransientId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Session` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Session` is already imported here [INFO] [stdout] ... [INFO] [stdout] 6 | actor::{ClearRoom, RestoreState, SerializedMessage, Session}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Actor` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Actor` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ActorContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `ActorContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Addr` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Addr` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsyncContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `AsyncContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Context` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:54 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Context` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Handler` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:63 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Handler` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMapExt` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMapExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_mode` [INFO] [stdout] --> src/game/mod.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(players: &Vec>, game_mode: GameMode) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | fn on_begin(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/game/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:143:28 [INFO] [stdout] | [INFO] [stdout] 143 | fn on_pause(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | fn on_resume(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:147:26 [INFO] [stdout] | [INFO] [stdout] 147 | fn on_end(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/room/actor.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(old) = old.take() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_mode` [INFO] [stdout] --> src/game/mod.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(players: &Vec>, game_mode: GameMode) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | fn on_begin(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/game/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:143:28 [INFO] [stdout] | [INFO] [stdout] 143 | fn on_pause(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | fn on_resume(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:147:26 [INFO] [stdout] | [INFO] [stdout] 147 | fn on_end(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/session/actor.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | _ => todo!("handle other messages"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/room/actor.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(old) = old.take() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/session/actor.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | _ => todo!("handle other messages"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `alive` are never read [INFO] [stdout] --> src/game/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct PlayerState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | score: usize, [INFO] [stdout] 18 | id: TransientId, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | alive: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardGame` is never constructed [INFO] [stdout] --> src/game/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct StandardGame {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_turn` is never used [INFO] [stdout] --> src/game/mod.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 98 | impl StandardGame { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 99 | fn next_turn(&self, state: &mut GameState, room: &Room) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `on_pause`, `on_resume`, and `on_input` are never used [INFO] [stdout] --> src/game/mod.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub trait GameController { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 125 | fn on_pause(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 126 | fn on_resume(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 127 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Word` is never constructed [INFO] [stdout] --> src/game/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum Input { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 132 | Word(String) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_free` and `release` are never used [INFO] [stdout] --> src/room/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl RoomManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_free(&mut self) -> Option<(RoomCode, RoomInfo)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn release(&mut self, key: RoomCode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Available` is never constructed [INFO] [stdout] --> src/room/mod.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum Availability { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 216 | Available, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_id` and `get_players` are never used [INFO] [stdout] --> src/room/actor.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl Room { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_id(&self, idx: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_players(&self) -> &Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_user_by_transient_id` is never used [INFO] [stdout] --> src/session/mod.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_user_by_transient_id(&self, transient_id: TransientId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LeaveRequested` and `IdMismatch` are never constructed [INFO] [stdout] --> src/session/message.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum RemoveReason { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | LeaveRequested, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | IdMismatch, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoveReason` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `JoinRoom` is never constructed [INFO] [stdout] --> src/session/message.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ResultOf { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 25 | JoinRoom, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResultOf` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ForceDisconnect`, `GameEnd`, and `TurnUpdate` are never constructed [INFO] [stdout] --> src/session/message.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum OutgoingMessage { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 38 | RemoveFromRoom(RemoveReason), [INFO] [stdout] 39 | ForceDisconnect(RemoveReason), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | GameStarted, [INFO] [stdout] 41 | GameEnd, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | JoinRoomResult(Result), [INFO] [stdout] 43 | TurnUpdate(TransientId) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutgoingMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `capacity` should have an upper case name [INFO] [stdout] --> src/room/mod.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | const capacity: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CAPACITY` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `alive` are never read [INFO] [stdout] --> src/game/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct PlayerState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | score: usize, [INFO] [stdout] 18 | id: TransientId, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | alive: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardGame` is never constructed [INFO] [stdout] --> src/game/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct StandardGame {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_turn` is never used [INFO] [stdout] --> src/game/mod.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 98 | impl StandardGame { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 99 | fn next_turn(&self, state: &mut GameState, room: &Room) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `on_pause`, `on_resume`, and `on_input` are never used [INFO] [stdout] --> src/game/mod.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub trait GameController { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 125 | fn on_pause(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 126 | fn on_resume(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 127 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Word` is never constructed [INFO] [stdout] --> src/game/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum Input { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 132 | Word(String) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_free` and `release` are never used [INFO] [stdout] --> src/room/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl RoomManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_free(&mut self) -> Option<(RoomCode, RoomInfo)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn release(&mut self, key: RoomCode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Available` is never constructed [INFO] [stdout] --> src/room/mod.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum Availability { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 216 | Available, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_id` and `get_players` are never used [INFO] [stdout] --> src/room/actor.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl Room { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_id(&self, idx: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_players(&self) -> &Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_user_by_transient_id` is never used [INFO] [stdout] --> src/session/mod.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_user_by_transient_id(&self, transient_id: TransientId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LeaveRequested` and `IdMismatch` are never constructed [INFO] [stdout] --> src/session/message.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum RemoveReason { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | LeaveRequested, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | IdMismatch, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoveReason` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `JoinRoom` is never constructed [INFO] [stdout] --> src/session/message.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ResultOf { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 25 | JoinRoom, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResultOf` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ForceDisconnect`, `GameEnd`, and `TurnUpdate` are never constructed [INFO] [stdout] --> src/session/message.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum OutgoingMessage { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 38 | RemoveFromRoom(RemoveReason), [INFO] [stdout] 39 | ForceDisconnect(RemoveReason), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | GameStarted, [INFO] [stdout] 41 | GameEnd, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | JoinRoomResult(Result), [INFO] [stdout] 43 | TurnUpdate(TransientId) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutgoingMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `capacity` should have an upper case name [INFO] [stdout] --> src/room/mod.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | const capacity: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CAPACITY` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.26s [INFO] running `Command { std: "docker" "inspect" "2b0eeec22301928852cfecfecfa7d25aab477a1e3d79f1a4d6749b58357c16cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b0eeec22301928852cfecfecfa7d25aab477a1e3d79f1a4d6749b58357c16cf", kill_on_drop: false }` [INFO] [stdout] 2b0eeec22301928852cfecfecfa7d25aab477a1e3d79f1a4d6749b58357c16cf [INFO] checking asifZaman0362/zgm-srv against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FasifZaman0362%2Fzgm-srv" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/asifZaman0362/zgm-srv on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/asifZaman0362/zgm-srv [INFO] finished tweaking git repo https://github.com/asifZaman0362/zgm-srv [INFO] tweaked toml for git repo https://github.com/asifZaman0362/zgm-srv written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/asifZaman0362/zgm-srv 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 611a5b45d9d2da616f04b51f7eced351a423af9a3313d686050ea73b6b37c836 [INFO] running `Command { std: "docker" "start" "-a" "611a5b45d9d2da616f04b51f7eced351a423af9a3313d686050ea73b6b37c836", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "611a5b45d9d2da616f04b51f7eced351a423af9a3313d686050ea73b6b37c836", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "611a5b45d9d2da616f04b51f7eced351a423af9a3313d686050ea73b6b37c836", kill_on_drop: false }` [INFO] [stdout] 611a5b45d9d2da616f04b51f7eced351a423af9a3313d686050ea73b6b37c836 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8d93ac0b32ed1d29941717c11861dd85a54e79213cc5d62cc56e008c25029a13 [INFO] running `Command { std: "docker" "start" "-a" "8d93ac0b32ed1d29941717c11861dd85a54e79213cc5d62cc56e008c25029a13", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Compiling syn v2.0.52 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Checking local-waker v0.1.4 [INFO] [stderr] Compiling zstd-safe v7.0.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling itoa v1.0.10 [INFO] [stderr] Compiling log v0.4.21 [INFO] [stderr] Checking indexmap v2.2.5 [INFO] [stderr] Compiling bytestring v1.3.1 [INFO] [stderr] Checking actix-utils v3.0.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling jobserver v0.1.28 [INFO] [stderr] Checking tokio v1.36.0 [INFO] [stderr] Checking actix-service v2.0.2 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling serde_json v1.0.114 [INFO] [stderr] Compiling cc v1.0.90 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking time v0.3.34 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking brotli v3.4.0 [INFO] [stderr] Checking local-channel v0.1.5 [INFO] [stderr] Checking language-tags v0.3.2 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Checking crossbeam-channel v0.5.12 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling zstd-sys v2.0.9+zstd.1.5.5 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking actix-rt v2.9.0 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Checking actix-server v2.3.0 [INFO] [stderr] Checking actix-codec v0.5.2 [INFO] [stderr] Checking h2 v0.3.24 [INFO] [stderr] Compiling actix_derive v0.6.1 [INFO] [stderr] Compiling actix-router v0.5.2 [INFO] [stderr] Compiling actix-web-codegen v4.2.2 [INFO] [stderr] Checking actix v0.13.3 [INFO] [stderr] Checking zstd v0.13.0 [INFO] [stderr] Checking actix-http v3.6.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking actix-web v4.5.1 [INFO] [stderr] Checking actix-ws v0.2.5 [INFO] [stderr] Checking actix-web-actors v4.3.0 [INFO] [stderr] Checking zgm-srv v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `RoomCode` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::RoomCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `RoomCode` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TransientId` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `TransientId` is already imported here [INFO] [stdout] 3 | use crate::game::{Game, GameController, GameMode, Input}; [INFO] [stdout] 4 | use crate::session::TransientId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Session` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Session` is already imported here [INFO] [stdout] ... [INFO] [stdout] 6 | actor::{ClearRoom, RestoreState, SerializedMessage, Session}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Actor` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Actor` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ActorContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `ActorContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Addr` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Addr` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsyncContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `AsyncContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Context` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:54 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Context` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Handler` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:63 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Handler` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMapExt` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMapExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `RoomCode` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::RoomCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `RoomCode` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `TransientId` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `TransientId` is already imported here [INFO] [stdout] 3 | use crate::game::{Game, GameController, GameMode, Input}; [INFO] [stdout] 4 | use crate::session::TransientId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Session` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:6:57 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Session` is already imported here [INFO] [stdout] ... [INFO] [stdout] 6 | actor::{ClearRoom, RestoreState, SerializedMessage, Session}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Actor` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Actor` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `ActorContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `ActorContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Addr` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Addr` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `AsyncContext` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `AsyncContext` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Context` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:54 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Context` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Handler` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:9:63 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `Handler` is already imported here [INFO] [stdout] ... [INFO] [stdout] 9 | use actix::{Actor, ActorContext, Addr, AsyncContext, Context, Handler, Message}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMap` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMap` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `HashMapExt` is imported redundantly [INFO] [stdout] --> src/room/actor.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 2 | use super::*; [INFO] [stdout] | -------- the item `HashMapExt` is already imported here [INFO] [stdout] ... [INFO] [stdout] 10 | use ahash::{HashMap, HashMapExt}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_mode` [INFO] [stdout] --> src/game/mod.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(players: &Vec>, game_mode: GameMode) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | fn on_begin(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/game/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:143:28 [INFO] [stdout] | [INFO] [stdout] 143 | fn on_pause(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | fn on_resume(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:147:26 [INFO] [stdout] | [INFO] [stdout] 147 | fn on_end(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/room/actor.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(old) = old.take() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_mode` [INFO] [stdout] --> src/game/mod.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(players: &Vec>, game_mode: GameMode) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | fn on_begin(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:141:28 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/game/mod.rs:141:49 [INFO] [stdout] | [INFO] [stdout] 141 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:143:28 [INFO] [stdout] | [INFO] [stdout] 143 | fn on_pause(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | fn on_resume(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game/mod.rs:147:26 [INFO] [stdout] | [INFO] [stdout] 147 | fn on_end(&mut self, ctx: &mut Self::Ctx) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/session/actor.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | _ => todo!("handle other messages"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/room/actor.rs:259:29 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(old) = old.take() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/session/actor.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | _ => todo!("handle other messages"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `alive` are never read [INFO] [stdout] --> src/game/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct PlayerState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | score: usize, [INFO] [stdout] 18 | id: TransientId, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | alive: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardGame` is never constructed [INFO] [stdout] --> src/game/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct StandardGame {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_turn` is never used [INFO] [stdout] --> src/game/mod.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 98 | impl StandardGame { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 99 | fn next_turn(&self, state: &mut GameState, room: &Room) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `on_pause`, `on_resume`, and `on_input` are never used [INFO] [stdout] --> src/game/mod.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub trait GameController { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 125 | fn on_pause(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 126 | fn on_resume(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 127 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Word` is never constructed [INFO] [stdout] --> src/game/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum Input { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 132 | Word(String) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_free` and `release` are never used [INFO] [stdout] --> src/room/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl RoomManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_free(&mut self) -> Option<(RoomCode, RoomInfo)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn release(&mut self, key: RoomCode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Available` is never constructed [INFO] [stdout] --> src/room/mod.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum Availability { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 216 | Available, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_id` and `get_players` are never used [INFO] [stdout] --> src/room/actor.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl Room { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_id(&self, idx: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_players(&self) -> &Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_user_by_transient_id` is never used [INFO] [stdout] --> src/session/mod.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_user_by_transient_id(&self, transient_id: TransientId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LeaveRequested` and `IdMismatch` are never constructed [INFO] [stdout] --> src/session/message.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum RemoveReason { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | LeaveRequested, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | IdMismatch, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoveReason` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `JoinRoom` is never constructed [INFO] [stdout] --> src/session/message.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ResultOf { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 25 | JoinRoom, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResultOf` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ForceDisconnect`, `GameEnd`, and `TurnUpdate` are never constructed [INFO] [stdout] --> src/session/message.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum OutgoingMessage { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 38 | RemoveFromRoom(RemoveReason), [INFO] [stdout] 39 | ForceDisconnect(RemoveReason), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | GameStarted, [INFO] [stdout] 41 | GameEnd, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | JoinRoomResult(Result), [INFO] [stdout] 43 | TurnUpdate(TransientId) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutgoingMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `capacity` should have an upper case name [INFO] [stdout] --> src/room/mod.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | const capacity: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CAPACITY` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `alive` are never read [INFO] [stdout] --> src/game/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | struct PlayerState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 17 | score: usize, [INFO] [stdout] 18 | id: TransientId, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | alive: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardGame` is never constructed [INFO] [stdout] --> src/game/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct StandardGame {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_turn` is never used [INFO] [stdout] --> src/game/mod.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 98 | impl StandardGame { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 99 | fn next_turn(&self, state: &mut GameState, room: &Room) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `on_pause`, `on_resume`, and `on_input` are never used [INFO] [stdout] --> src/game/mod.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub trait GameController { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 125 | fn on_pause(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 126 | fn on_resume(&mut self, ctx: &mut Self::Ctx); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 127 | fn on_input(&mut self, ctx: &mut Self::Ctx, input: &Self::GameInput); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Word` is never constructed [INFO] [stdout] --> src/game/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum Input { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 132 | Word(String) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_free` and `release` are never used [INFO] [stdout] --> src/room/mod.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 57 | impl RoomManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | fn get_free(&mut self) -> Option<(RoomCode, RoomInfo)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn release(&mut self, key: RoomCode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Available` is never constructed [INFO] [stdout] --> src/room/mod.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub enum Availability { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 216 | Available, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_id` and `get_players` are never used [INFO] [stdout] --> src/room/actor.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl Room { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_id(&self, idx: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_players(&self) -> &Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_user_by_transient_id` is never used [INFO] [stdout] --> src/session/mod.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionManager { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn get_user_by_transient_id(&self, transient_id: TransientId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LeaveRequested` and `IdMismatch` are never constructed [INFO] [stdout] --> src/session/message.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum RemoveReason { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | LeaveRequested, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 20 | IdMismatch, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoveReason` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `JoinRoom` is never constructed [INFO] [stdout] --> src/session/message.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ResultOf { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 25 | JoinRoom, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResultOf` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ForceDisconnect`, `GameEnd`, and `TurnUpdate` are never constructed [INFO] [stdout] --> src/session/message.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum OutgoingMessage { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 38 | RemoveFromRoom(RemoveReason), [INFO] [stdout] 39 | ForceDisconnect(RemoveReason), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | GameStarted, [INFO] [stdout] 41 | GameEnd, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | JoinRoomResult(Result), [INFO] [stdout] 43 | TurnUpdate(TransientId) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OutgoingMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `capacity` should have an upper case name [INFO] [stdout] --> src/room/mod.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | const capacity: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `CAPACITY` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.24s [INFO] running `Command { std: "docker" "inspect" "8d93ac0b32ed1d29941717c11861dd85a54e79213cc5d62cc56e008c25029a13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d93ac0b32ed1d29941717c11861dd85a54e79213cc5d62cc56e008c25029a13", kill_on_drop: false }` [INFO] [stdout] 8d93ac0b32ed1d29941717c11861dd85a54e79213cc5d62cc56e008c25029a13