[INFO] cloning repository https://github.com/timfeid/game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/timfeid/game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimfeid%2Fgame", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimfeid%2Fgame'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8352227c9f552c47fcaf7d4544b072555a13d798
[INFO] testing timfeid/game against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftimfeid%2Fgame" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/timfeid/game
[INFO] finished tweaking git repo https://github.com/timfeid/game
[INFO] tweaked toml for git repo https://github.com/timfeid/game written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/timfeid/game on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/timfeid/game 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fbed70e5dac71e23e6973a6165b3bcff3ebd650091617442a5dfd21a24eb6e2d
[INFO] running `Command { std: "docker" "start" "-a" "fbed70e5dac71e23e6973a6165b3bcff3ebd650091617442a5dfd21a24eb6e2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbed70e5dac71e23e6973a6165b3bcff3ebd650091617442a5dfd21a24eb6e2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbed70e5dac71e23e6973a6165b3bcff3ebd650091617442a5dfd21a24eb6e2d", kill_on_drop: false }`
[INFO] [stdout] fbed70e5dac71e23e6973a6165b3bcff3ebd650091617442a5dfd21a24eb6e2d
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 764814acdeafe695bc15d79cfd0a9a44c85f2b0018b0a83d2db431cb1f4621cd
[INFO] running `Command { std: "docker" "start" "-a" "764814acdeafe695bc15d79cfd0a9a44c85f2b0018b0a83d2db431cb1f4621cd", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling cc v1.1.18
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling rustls-pki-types v1.8.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.18
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling rustls v0.23.13
[INFO] [stderr]    Compiling http v1.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling webpki-roots v0.26.5
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling unicode-properties v0.1.2
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling event-listener v5.3.1
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustls-pemfile v2.1.3
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling miniz_oxide v0.7.4
[INFO] [stderr]    Compiling fdeflate v0.3.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]    Compiling png v0.17.13
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling axum v0.7.5
[INFO] [stderr]    Compiling bytemuck v1.18.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling qrcodegen v1.8.0
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.1
[INFO] [stderr]    Compiling pem v3.0.4
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling constant_time_eq v0.2.6
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling base32 v0.4.0
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling bcrypt v0.15.1
[INFO] [stderr]    Compiling uuid v1.10.0
[INFO] [stderr]    Compiling image v0.25.2
[INFO] [stderr]    Compiling textwrap v0.16.1
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling tempfile v3.12.0
[INFO] [stderr]    Compiling qrcodegen-image v1.5.0
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling async-trait v0.1.82
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling async-stream v0.3.5
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling pin-project v1.1.5
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling simple_asn1 v0.6.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling ulid v1.1.3
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling totp-rs v5.6.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling hyper v1.4.1
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling hyper-util v0.1.8
[INFO] [stderr]    Compiling sqlx-core v0.8.2
[INFO] [stderr]    Compiling jsonwebtoken v9.3.0
[INFO] [stderr]    Compiling specta-macros v1.0.5
[INFO] [stderr]    Compiling specta v1.0.5
[INFO] [stderr]    Compiling rspc v0.2.0
[INFO] [stderr]    Compiling redis v0.27.2
[INFO] [stderr]    Compiling sqlx-postgres v0.8.2
[INFO] [stderr]    Compiling rspc-axum v0.1.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.2
[INFO] [stderr]    Compiling sqlx-macros v0.8.2
[INFO] [stderr]    Compiling sqlx v0.8.2
[INFO] [stderr]    Compiling tfa v0.1.0 (/opt/rustwide/workdir/apps/rusty)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...   query_as!(User, "select id, password from users join refresh_tokens on refresh_tokens.user_id = users.id where users.id = $1 and refresh_tokens.token = $2", user_id, token)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         query_as!(User, "select id, password from users where id = $1", id)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | /         query!(
[INFO] [stdout] 34 | |             "insert into refresh_tokens (token, user_id) values ($1, $2)",
[INFO] [stdout] 35 | |             token,
[INFO] [stdout] 36 | |             self.id
[INFO] [stdout] 37 | |         )
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `apps/rusty/src/services/../../jwt.public.pem`: No such file or directory (os error 2)
[INFO] [stdout]   --> apps/rusty/src/services/jwt.rs:29:40
[INFO] [stdout]    |
[INFO] [stdout] 29 |             &DecodingKey::from_rsa_pem(include_bytes!("../../jwt.public.pem"))
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `apps/rusty/src/services/../../jwt.private.pem`: No such file or directory (os error 2)
[INFO] [stdout]   --> apps/rusty/src/services/jwt.rs:50:40
[INFO] [stdout]    |
[INFO] [stdout] 50 |             &EncodingKey::from_rsa_pem(include_bytes!("../../jwt.private.pem"))
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::write`, `future::IntoFuture`, and `path::PathBuf`
[INFO] [stdout]  --> apps/rusty/src/main.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::write, future::IntoFuture, path::PathBuf, sync::Arc};
[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: `Executor`
[INFO] [stdout]   --> apps/rusty/src/main.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | use sqlx::{Executor, Pool, Postgres};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> apps/rusty/src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Algorithm`, `Secret`, and `TOTP`
[INFO] [stdout]   --> apps/rusty/src/main.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use totp_rs::{Algorithm, Secret, TOTP};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rspc::Router`
[INFO] [stdout]   --> apps/rusty/src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use rspc::Router;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `cell::RefCell`, `rc::Rc`, and `thread::Thread`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:2:14
[INFO] [stdout]    |
[INFO] [stdout]  2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout]  3 |     cell::RefCell,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     sync::Arc,
[INFO] [stdout] 10 |     thread::Thread,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncClosureAction`, `CardActionTarget`, `CardActionTrigger`, and `CombatDamageAction`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Action, ActionTriggerType, AsyncClosureAction, BlankAction, CardAction, CardActionTarget,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     CardActionTrigger, CardActionWrapper, CardRequiredTarget, ChooseFromSelectionAction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     CombatDamageAction, DestroyTargetCAction, LifeLinkAction, PlayCardAction, TriggerTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EffectID`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | use effects::{EffectID, EffectManager, EffectTarget};
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::index`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use rand::seq::index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::Pipeline`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use redis::Pipeline;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CardStatChangeListener` and `StatManager`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | use stat::{CardStatChangeListener, StatManager, StatType, Stats};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MutexGuard`, `Notify`, `RwLock`, `mpsc`, `select`, and `timeout`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 31 |     sync::{broadcast, mpsc, Mutex, MutexGuard, Notify, RwLock},
[INFO] [stdout]    |                       ^^^^         ^^^^^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 32 |     time::{sleep, timeout, Instant},
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CardSelectionDetails`
[INFO] [stdout]   --> apps/rusty/src/game/mod.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |         AbilityDetails, CardSelectionDetails, ExecuteAbility, LobbyCommand, LobbyTurnMessage,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatType`
[INFO] [stdout]  --> apps/rusty/src/game/action/add_stat.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     stat::{Stat, StatType, Stats},
[INFO] [stdout]   |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Effect`, `player::Player`, and `turn::Turn`
[INFO] [stdout]   --> apps/rusty/src/game/action/generate_mana.rs:7:33
[INFO] [stdout]    |
[INFO] [stdout]  7 |     effects::{AddTriggerEffect, Effect, EffectID, EffectTarget, ExpireContract},
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]  8 |     mana::ManaType,
[INFO] [stdout]  9 |     player::Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     turn::Turn,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerAction`
[INFO] [stdout]   --> apps/rusty/src/game/action/generate_mana.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     PlayerAction, PlayerActionTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> apps/rusty/src/game/action/mod.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> apps/rusty/src/game/action/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EffectID`, `ExpireContract`, `FrontendCardTarget`, and `FrontendTarget`
[INFO] [stdout]   --> apps/rusty/src/game/action/mod.rs:20:23
[INFO] [stdout]    |
[INFO] [stdout] 20 |     effects::{Effect, EffectID, EffectTarget, ExpireContract},
[INFO] [stdout]    |                       ^^^^^^^^                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Ability, ActionType, CardWithDetails, FrontendCardTarget, FrontendTarget, Game,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LobbyCommand`
[INFO] [stdout]   --> apps/rusty/src/game/action/mod.rs:29:44
[INFO] [stdout]    |
[INFO] [stdout] 29 |     lobby::manager::{CardSelectionDetails, LobbyCommand},
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> apps/rusty/src/game/card.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> apps/rusty/src/game/card.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::Borrow` and `cell::RefCell`
[INFO] [stdout]  --> apps/rusty/src/game/card.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{borrow::Borrow, cell::RefCell};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::AppError`
[INFO] [stdout]   --> apps/rusty/src/game/card.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::error::AppError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EffectManager`
[INFO] [stdout]   --> apps/rusty/src/game/card.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::game::effects::{EffectManager, EffectTarget};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attachable`, `CardActionTarget`, `CardAction`, `CardRequiredTarget`, `PlayerActionTrigger`, `PlayerAction`, and `ResetCardAction`
[INFO] [stdout]   --> apps/rusty/src/game/card.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ActionTriggerType, Attachable, CardAction, CardActionTarget, CardActionTrigger,
[INFO] [stdout]    |                        ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     CardActionWrapper, CardRequiredTarget, PlayerAction, PlayerActionTrigger, ResetCardAction,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::player`
[INFO] [stdout]   --> apps/rusty/src/game/card.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use super::player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `create_multiple_cards`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:610:18
[INFO] [stdout]     |
[INFO] [stdout] 610 |     macro_rules! create_multiple_cards {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `create_planeswalker_card`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:619:18
[INFO] [stdout]     |
[INFO] [stdout] 619 |     macro_rules! create_planeswalker_card {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_planeswalker_card`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:737:20
[INFO] [stdout]     |
[INFO] [stdout] 737 |     pub(crate) use create_planeswalker_card;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `CardActionTarget`, `Game`, and `player::Player`
[INFO] [stdout]  --> apps/rusty/src/game/combat.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     action::{Action, CardActionTarget},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     player::Player,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     Game,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncClosureAction`, `AsyncClosureWithCardAction`, `EffectTarget`, `Game`, `LifeLinkAction`, `Stats`, `create_multiple_cards`, and `player::Player`
[INFO] [stdout]   --> apps/rusty/src/game/decks/black.rs:4:48
[INFO] [stdout]    |
[INFO] [stdout]  4 |         ApplyEffectToCardBasedOnTotalCardType, AsyncClosureAction, AsyncClosureWithCardAction,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |         CardActionTrigger, CardRequiredTarget, CardTargetTeam, DeclareAttackerAction,
[INFO] [stdout]  6 |         DeclareBlockerAction, LifeLinkAction, PlayerActionTarget, TriggerTarget,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  9 |         card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     effects::{DynamicStatModifierEffect, Effect, EffectID, EffectTarget, ExpireContract},
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 14 |     mana::ManaType,
[INFO] [stdout] 15 |     player::Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     stat::{Stat, StatType, Stats},
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 17 |     turn::TurnPhase,
[INFO] [stdout] 18 |     Game,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E` and `mem::zeroed`
[INFO] [stdout]   --> apps/rusty/src/game/decks/black.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/black.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> apps/rusty/src/game/decks/black.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]    --> apps/rusty/src/game/decks/black.rs:192:23
[INFO] [stdout]     |
[INFO] [stdout] 192 |     use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]     |                       ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deck`, `Game`, `card::Card`, `create_hydra`, `create_swamp`, `effects::EffectTarget`, `mana`, and `player::Player`
[INFO] [stdout]    --> apps/rusty/src/game/decks/black.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         card::Card,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 196 |         decks::{
[INFO] [stdout] 197 |             black::{create_hydra, create_swamp},
[INFO] [stdout]     |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 198 |             Deck,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 199 |         },
[INFO] [stdout] 200 |         effects::EffectTarget,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 201 |         mana,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 202 |         player::Player,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 203 |         Game,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncClosureAction`, `CreatureType`, `DeclareAttackerAction`, `DeclareBlockerAction`, `DynamicStatModifierEffect`, `EffectID`, `EffectTarget`, `Effect`, `ExpireContract`, `StatType`, `Stat`, `Stats`, `TriggerTarget`, `create_creature_card`, `create_multiple_cards`, `player::Player`, and `turn::TurnPhase`
[INFO] [stdout]   --> apps/rusty/src/game/decks/blue.rs:3:63
[INFO] [stdout]    |
[INFO] [stdout]  3 |         generate_mana::GenerateManaAction, ActionTriggerType, AsyncClosureAction,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  4 |         AsyncClosureWithCardAction, CardActionTarget, CardActionTrigger, CardRequiredTarget,
[INFO] [stdout]  5 |         CardTargetTeam, CounterSpellAction, DeclareAttackerAction, DeclareBlockerAction,
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  6 |         DrawCardCardAction, PlayerActionTarget, ReturnToHandAction, TriggerTarget,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  9 |         card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         Card, CardPhase, CardType, CreatureType,
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     effects::{DynamicStatModifierEffect, Effect, EffectID, EffectTarget, ExpireContract},
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     mana::ManaType,
[INFO] [stdout] 15 |     player::Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     stat::{Stat, StatType, Stats},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 17 |     turn::TurnPhase,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E` and `mem::zeroed`
[INFO] [stdout]   --> apps/rusty/src/game/decks/blue.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/blue.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> apps/rusty/src/game/decks/blue.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]    --> apps/rusty/src/game/decks/blue.rs:141:23
[INFO] [stdout]     |
[INFO] [stdout] 141 |     use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]     |                       ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deck`, `Game`, `card::Card`, `create_counterspell`, `create_island`, `effects::EffectTarget`, `mana`, and `player::Player`
[INFO] [stdout]    --> apps/rusty/src/game/decks/blue.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         card::Card,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 145 |         decks::{
[INFO] [stdout] 146 |             blue::{create_counterspell, create_island},
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 147 |             Deck,
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 148 |         },
[INFO] [stdout] 149 |         effects::EffectTarget,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 |         mana,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 151 |         player::Player,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 152 |         Game,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `ApplyDynamicEffectToCard`, `ApplyEffectToPlayerCardType`, `CardSelectionDetails`, `DamageTarget`, `DrawCardAction`, `DynamicStatModifierEffect`, `LobbyCommand`, `ModifyStatTarget`, `PlayCardAction`, `create_multiple_cards`, and `player::Player`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green.rs:4:48
[INFO] [stdout]    |
[INFO] [stdout]  4 |             generate_mana::GenerateManaAction, Action, ActionTriggerType, ApplyDynamicEffectToCard,
[INFO] [stdout]    |                                                ^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |             ApplyEffectToPlayerCardType, ApplyEffectToTargetAction,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |             ChooseFromSelectionAction, DamageTarget, DeclareAttackerAction, DeclareBlockerAction,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^
[INFO] [stdout] 11 |             DrawCardAction, DrawCardCardAction, PlayCardAction, PlayerActionTarget,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             DynamicStatModifierEffect, Effect, EffectID, EffectTarget, ExpireContract,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |             ModifyStatTarget, StatModifierEffect,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |         player::Player,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     lobby::manager::{CardSelectionDetails, LobbyCommand},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E` and `mem::zeroed`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1534:9
[INFO] [stdout]      |
[INFO] [stdout] 1534 |     use std::sync::Arc;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1536:23
[INFO] [stdout]      |
[INFO] [stdout] 1536 |     use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]      |                       ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CardPhase`, `CardWithDetails`, `Card`, `Deck`, `FrontendCardTarget`, `FrontendPileName`, `Game`, `action::ActionTriggerType`, `create_devoted_druid`, `create_forest`, `create_leaf_crowned_visionary`, `create_wirewood`, `effects::EffectTarget`, `lobby::manager::LobbyManager`, `mana`, `player::Player`, and `turn::TurnPhase`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1540:13
[INFO] [stdout]      |
[INFO] [stdout] 1540 |             action::ActionTriggerType,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1541 |             card::{Card, CardPhase},
[INFO] [stdout]      |                    ^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1544 |                     create_devoted_druid, create_forest, create_leaf_crowned_visionary,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1545 |                     create_wirewood,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 1546 |                 },
[INFO] [stdout] 1547 |                 Deck,
[INFO] [stdout]      |                 ^^^^
[INFO] [stdout] 1548 |             },
[INFO] [stdout] 1549 |             effects::EffectTarget,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1550 |             mana,
[INFO] [stdout]      |             ^^^^
[INFO] [stdout] 1551 |             player::Player,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 1552 |             turn::TurnPhase,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 1553 |             CardWithDetails, FrontendCardTarget, FrontendPileName, Game,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 1554 |         },
[INFO] [stdout] 1555 |         lobby::manager::LobbyManager,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Action`, `ApplyDynamicEffectToCard`, `ApplyEffectToPlayerCardType`, `ApplyEffectToTargetAction`, `ApplyEffectsToPlayerCreatureType`, `BlankAction`, `CardActionTarget`, `CardSelectionDetails`, `CardWithDetails`, `CastMandatoryAdditionalAbility`, `ChooseFromSelectionAction`, `DamageTarget`, `DrawCardAction`, `DrawCardCardAction`, `DynamicStatModifierEffect`, `LobbyCommand`, `ModifyStatTarget`, `PlayCardAction`, `PlayerActionTarget`, `ReturnToHandAction`, `StaticStatId`, `TapCardAction`, `create_multiple_cards`, `decks::duplicate_card`, `generate_mana::GenerateManaAction`, and `player::Player`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green_a.rs:4:13
[INFO] [stdout]    |
[INFO] [stdout]  4 |             generate_mana::GenerateManaAction, Action, ActionTriggerType, ApplyDynamicEffectToCard,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |             ApplyEffectToPlayerCardType, ApplyEffectToTargetAction,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  6 |             ApplyEffectsToPlayerCreatureType, AsyncClosureAction,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  7 |             AsyncClosureActionWithTargetAndAbility, AsyncClosureWithCardAction, BlankAction,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^
[INFO] [stdout]  8 |             CardAction, CardActionTarget, CardActionTrigger, CardActionWrapper, CardRequiredTarget,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |             CardTargetTeam, CastMandatoryAdditionalAbility, CastOptionalAdditionalAbility,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             ChooseFromSelectionAction, DamageTarget, DeclareAttackerAction, DeclareBlockerAction,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 11 |             DrawCardAction, DrawCardCardAction, PlayCardAction, PlayerActionTarget,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |             ReturnToHandAction, TapCardAction, TriggerTarget,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |         decks::duplicate_card,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |         effects::{
[INFO] [stdout] 20 |             DynamicStatModifierEffect, Effect, EffectID, EffectTarget, ExpireContract,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |             ModifyStatTarget, StatModifierEffect,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |         player::Player,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |         stat::{Stat, StatType, StaticStatId, Stats},
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 26 |         turn::TurnPhase,
[INFO] [stdout] 27 |         ActionType, CardWithDetails, Game,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     },
[INFO] [stdout] 29 |     lobby::manager::{CardSelectionDetails, LobbyCommand},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E` and `mem::zeroed`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green_a.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green_a.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncClosureAction`, `AsyncClosureWithCardAction`, `CreatureType`, `DeclareAttackerAction`, `DeclareBlockerAction`, `DynamicStatModifierEffect`, `EffectID`, `EffectTarget`, `Effect`, `ExpireContract`, `Game`, `StatType`, `Stat`, `Stats`, `TriggerTarget`, `create_creature_card`, `create_multiple_cards`, `player::Player`, and `turn::TurnPhase`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:3:63
[INFO] [stdout]    |
[INFO] [stdout]  3 |         generate_mana::GenerateManaAction, ActionTriggerType, AsyncClosureAction,
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  4 |         AsyncClosureWithCardAction, CardActionTrigger, CardRequiredTarget, DeclareAttackerAction,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  5 |         DeclareBlockerAction, PlayerActionTarget, TriggerTarget,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^                      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |         card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |         Card, CardPhase, CardType, CreatureType,
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     effects::{DynamicStatModifierEffect, Effect, EffectID, EffectTarget, ExpireContract},
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     mana::ManaType,
[INFO] [stdout] 14 |     player::Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     stat::{Stat, StatType, Stats},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout] 16 |     turn::TurnPhase,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     Game,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E`, `future::Future`, `mem::zeroed`, and `pin::Pin`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     use std::sync::Arc;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Game`, `card::Card`, `decks::red::create_fire`, `effects::EffectTarget`, `mana`, and `player::Player`
[INFO] [stdout]   --> apps/rusty/src/game/decks/red.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         card::Card, decks::red::create_fire, effects::EffectTarget, mana, player::Player, Game,
[INFO] [stdout]    |         ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApplyEffectToCardBasedOnTotalCardType`, `ApplyStat`, `AsyncClosureActionWithTargetAndAbility`, `CardActionTarget`, `ModifyStatTarget`, `PlayCardAction`, `create_multiple_cards`, and `player::Player`
[INFO] [stdout]   --> apps/rusty/src/game/decks/white.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 |         ApplyEffectToCardBasedOnTotalCardType, ApplyEffectToTargetAction, ApplyStat,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                             ^^^^^^^^^
[INFO] [stdout]  5 |         AsyncClosureAction, AsyncClosureActionWithTargetAndAbility, AsyncClosureWithCardAction,
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  6 |         BlankAction, CardAction, CardActionTarget, CardActionTrigger, CardActionWrapper,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]  7 |         CardRequiredTarget, CardTargetTeam, CastMandatoryAdditionalAbility, DeclareAttackerAction,
[INFO] [stdout]  8 |         DeclareBlockerAction, PlayCardAction, PlayerActionTarget, TriggerTarget,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |         card::{create_creature_card, create_multiple_cards},
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         ModifyStatTarget, StatModifierEffect,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     player::Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E` and `mem::zeroed`
[INFO] [stdout]   --> apps/rusty/src/game/decks/white.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::{f32::consts::E, future::Future, mem::zeroed, pin::Pin, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/white.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1193:9
[INFO] [stdout]      |
[INFO] [stdout] 1193 |     use std::sync::Arc;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1195:23
[INFO] [stdout]      |
[INFO] [stdout] 1195 |     use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]      |                       ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deck`, `Game`, `create_angelic_accord`, `create_righteous_valkyrie`, `duplicate_card`, `effects::EffectTarget`, `mana`, and `player::Player`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1199:13
[INFO] [stdout]      |
[INFO] [stdout] 1199 |             duplicate_card,
[INFO] [stdout]      |             ^^^^^^^^^^^^^^
[INFO] [stdout] 1200 |             white::{create_angelic_accord, create_righteous_valkyrie},
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1201 |             Deck,
[INFO] [stdout]      |             ^^^^
[INFO] [stdout] 1202 |         },
[INFO] [stdout] 1203 |         effects::EffectTarget,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1204 |         mana,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 1205 |         player::Player,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout] 1206 |         Game,
[INFO] [stdout]      |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::borrow::BorrowMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::future::Future;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::action::generate_mana::GenerateManaAction`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::game::action::generate_mana::GenerateManaAction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionTriggerType`, `AsyncClosureAction`, `AsyncClosureWithCardAction`, `CardActionTarget`, `CardActionTrigger`, `CardRequiredTarget`, `CounterSpellAction`, `DrawCardAction`, `PlayerActionTarget`, `ReturnToHandAction`, and `TriggerTarget`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ActionTriggerType, AsyncClosureAction, AsyncClosureWithCardAction, CardActionTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     CardActionTrigger, CardRequiredTarget, CounterSpellAction, DrawCardAction, PlayerActionTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     ReturnToHandAction, TriggerTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::card::card::create_creature_card`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::game::card::card::create_creature_card;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CardPhase` and `CreatureType`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::game::card::{CardPhase, CardType, CreatureType};
[INFO] [stdout]    |                         ^^^^^^^^^            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::mana::ManaType`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::game::mana::ManaType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatType` and `Stats`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::game::stat::{StatType, Stats};
[INFO] [stdout]    |                         ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeclareAttackerAction` and `DeclareBlockerAction`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::game::action::{DeclareAttackerAction, DeclareBlockerAction};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::stat::Stat`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use crate::game::stat::Stat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::turn::TurnPhase`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::game::turn::TurnPhase;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::Game`
[INFO] [stdout]   --> apps/rusty/src/game/decks/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]  --> apps/rusty/src/game/effects/mod.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{any::Any, collections::HashMap, fmt, future::Future, pin::Pin, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]  --> apps/rusty/src/game/effects/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ulid::Ulid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionTriggerType`, `CardActionTarget`, `CardType`, and `CreatureType`
[INFO] [stdout]  --> apps/rusty/src/game/effects/mod.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     action::{ActionTriggerType, CardAction, CardActionTarget, CardActionTrigger},
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     card::{Card, CardType, CreatureType},
[INFO] [stdout]   |                  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `HashSet`, `RefCell`, `RefMut`, `rc::Rc`, and `time::Duration`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:2:14
[INFO] [stdout]    |
[INFO] [stdout]  2 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout]  3 |     cell::{RefCell, RefMut},
[INFO] [stdout]    |            ^^^^^^^  ^^^^^^
[INFO] [stdout]  4 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  8 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     sync::Arc,
[INFO] [stdout] 10 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::response::sse::KeepAlive`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use axum::response::sse::KeepAlive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use textwrap::fill;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::sleep`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::{sync::Mutex, time::sleep};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `action::DestroyTargetCAction`, and `turn`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     error::{AppError, AppResult},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 22 |     game::{action::DestroyTargetCAction, card::CardType, mana::ManaType, turn},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attachable`, `CardActionTrigger`, `CardActionWrapper`, `EffectManager`, `Effect`, `PlayCardAction`, and `PlayerAction`
[INFO] [stdout]   --> apps/rusty/src/game/player.rs:27:71
[INFO] [stdout]    |
[INFO] [stdout] 27 |         generate_mana::GenerateManaAction, Action, ActionTriggerType, Attachable,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^
[INFO] [stdout] 28 |         CardActionTrigger, CardActionWrapper, CombatAction, DrawCardAction, PlayCardAction,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |         PlayerAction, PlayerActionTarget, PlayerActionTrigger, PlayerActionWrapper,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     effects::{Effect, EffectID, EffectManager, EffectTarget},
[INFO] [stdout]    |               ^^^^^^            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:813:28
[INFO] [stdout]     |
[INFO] [stdout] 813 |                     as Arc<(dyn Action + std::marker::Send + Sync)>);
[INFO] [stdout]     |                            ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 813 -                     as Arc<(dyn Action + std::marker::Send + Sync)>);
[INFO] [stdout] 813 +                     as Arc<dyn Action + std::marker::Send + Sync >);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> apps/rusty/src/game/stat.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::uuid`
[INFO] [stdout]  --> apps/rusty/src/game/stat.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut`, `cell::RefCell`, and `rc::Rc`
[INFO] [stdout]  --> apps/rusty/src/game/turn.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::BorrowMut, cell::RefCell, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Game`
[INFO] [stdout]  --> apps/rusty/src/game/turn.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::{player::Player, Game};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bcrypt::verify`
[INFO] [stdout]  --> apps/rusty/src/http/controllers/authentication.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bcrypt::verify;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RouterBuilder` and `Router`
[INFO] [stdout]  --> apps/rusty/src/http/controllers/authentication.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rspc::{Router, RouterBuilder};
[INFO] [stdout]   |            ^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MutexGuard` and `Mutex`
[INFO] [stdout]  --> apps/rusty/src/http/controllers/lobby.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::{Mutex, MutexGuard};
[INFO] [stdout]   |                   ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Claims`, `LobbyChat`, `LobbyManager`, and `Lobby`
[INFO] [stdout]   --> apps/rusty/src/http/controllers/lobby.rs:14:44
[INFO] [stdout]    |
[INFO] [stdout] 14 |         lobby::{DeckDetails, DeckSelector, Lobby, LobbyChat, LobbyData},
[INFO] [stdout]    |                                            ^^^^^  ^^^^^^^^^
[INFO] [stdout] 15 |         manager::{LobbyCommand, LobbyManager},
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout] 16 |     },
[INFO] [stdout] 17 |     services::jwt::{Claims, JwtService},
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> apps/rusty/src/http/routers/authentication.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_stream::stream`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use async_stream::stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Stream`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rspc::internal::UnbuiltProcedureBuilder`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rspc::internal::UnbuiltProcedureBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RouterBuilder`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rspc::{Router, RouterBuilder};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specta::Type`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use specta::Type;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> apps/rusty/src/http/routers/lobby.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::ReceiverStream`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio_stream::wrappers::ReceiverStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::AppError`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::error::AppError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::services::jwt::JwtService`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::services::jwt::JwtService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lobby::lobby::LobbyData`
[INFO] [stdout]   --> apps/rusty/src/http/routers/lobby.rs:23:56
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::{http::controllers::lobby::LobbyController, lobby::lobby::LobbyData, Ctx};
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `thread::Thread`
[INFO] [stdout]  --> apps/rusty/src/lobby/lobby.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{borrow::BorrowMut, collections::HashMap, sync::Arc, thread::Thread};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::ReceiverStream`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | use tokio_stream::wrappers::ReceiverStream;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | use ulid::Ulid;
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FrontendTarget`, `GameStatus`, `black::create_black_deck`, `blue::create_blue_deck`, `card::Card`, `green::create_green_deck`, `red::create_red_deck`, and `white::create_angels_deck`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         card::Card,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 147 |         decks::{
[INFO] [stdout] 148 |             black::create_black_deck, blue::create_blue_deck, green::create_green_deck,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 |             red::create_red_deck, white::create_angels_deck, Deck,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |         Attack, Block, CardWithDetails, FrontendCardTarget, FrontendPileName, FrontendTarget, Game,
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 154 |         GameState, GameStatus, PlayerState, PlayerStatus, PriorityQueue, PublicGameInfo,
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::manager::LobbyManager`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | use super::manager::LobbyManager;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:396:15
[INFO] [stdout]     |
[INFO] [stdout] 396 |     use std::{cell::RefCell, rc::Rc};
[INFO] [stdout]     |               ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::StreamExt`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |     use tokio_stream::StreamExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `lobby::lobby::Lobby` and `services::jwt::Claims`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:400:17
[INFO] [stdout]     |
[INFO] [stdout] 400 |     use crate::{lobby::lobby::Lobby, services::jwt::Claims};
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::aio::PubSub`
[INFO] [stdout]  --> apps/rusty/src/lobby/manager.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::aio::PubSub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> apps/rusty/src/lobby/manager.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use redis::{AsyncCommands, Client};
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> apps/rusty/src/lobby/manager.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task`
[INFO] [stdout]  --> apps/rusty/src/lobby/manager.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::task;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CardAction`
[INFO] [stdout]   --> apps/rusty/src/lobby/manager.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::game::action::{CardAction, CardRequiredTarget};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::card::Card`
[INFO] [stdout]   --> apps/rusty/src/lobby/manager.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::game::card::Card;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::player::Player`
[INFO] [stdout]   --> apps/rusty/src/lobby/manager.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::game::player::Player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrontendPileName`
[INFO] [stdout]   --> apps/rusty/src/lobby/manager.rs:27:34
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ActionType, CardWithDetails, FrontendPileName, FrontendTarget, Game, GameStatus, PlayerStatus,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenData`
[INFO] [stdout]  --> apps/rusty/src/services/jwt.rs:4:89
[INFO] [stdout]   |
[INFO] [stdout] 4 |     decode, encode, get_current_timestamp, Algorithm, DecodingKey, EncodingKey, Header, TokenData,
[INFO] [stdout]   |                                                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rspc::Error`
[INFO] [stdout]  --> apps/rusty/src/services/jwt.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rspc::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1400:13
[INFO] [stdout]      |
[INFO] [stdout] 1400 |         let mut actions: Vec<Arc<dyn Action + Send + Sync>> = vec![];
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:2051:17
[INFO] [stdout]      |
[INFO] [stdout] 2051 |             let mut all_passed = true;
[INFO] [stdout]      |                 ----^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:350:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let mut player;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     pub async fn send_command(
[INFO] [stdout] 537 | |         &self,
[INFO] [stdout] 538 | |         lobby_id: &str,
[INFO] [stdout] 539 | |         command: LobbyCommand,
[INFO] [stdout] 540 | |     ) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |         redis_conn.publish(lobby_id, lobby_data).await?;
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 546 |         redis_conn.publish::<_, _, ()>(lobby_id, lobby_data).await?;
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:551:5
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub async fn notify_lobby(&self, lobby_id: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:580:20
[INFO] [stdout]     |
[INFO] [stdout] 580 |         redis_conn.publish(lobby_id, lobby_data).await?;
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 580 |         redis_conn.publish::<_, _, ()>(lobby_id, lobby_data).await?;
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | / ...   query_as!(User, "select id, password from users join refresh_tokens on refresh_tokens.user_id = users.id where users.id = $1...
[INFO] [stdout] 19 | | ...       .fetch_one(pool)
[INFO] [stdout] 20 | | ...       .await
[INFO] [stdout]    | |________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |             .map_err(|e| ModelError::SqlError(e.to_string()))
[INFO] [stdout]    |                       ^                       - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 21 |             .map_err(|e: /* Type */| ModelError::SqlError(e.to_string()))
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | /         query_as!(User, "select id, password from users where id = $1", id)
[INFO] [stdout] 26 | |             .fetch_one(pool)
[INFO] [stdout] 27 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |             .map_err(|e| ModelError::SqlError(e.to_string()))
[INFO] [stdout]    |                       ^                       - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 28 |             .map_err(|e: /* Type */| ModelError::SqlError(e.to_string()))
[INFO] [stdout]    |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | /         query!(
[INFO] [stdout] 34 | |             "insert into refresh_tokens (token, user_id) values ($1, $2)",
[INFO] [stdout] 35 | |             token,
[INFO] [stdout] 36 | |             self.id
[INFO] [stdout] 37 | |         )
[INFO] [stdout] 38 | |         .execute(pool)
[INFO] [stdout] 39 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> apps/rusty/src/models/user.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 |         .map_err(|e| ModelError::SqlError(e.to_string()))?;
[INFO] [stdout]    |                   ^                       - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 40 |         .map_err(|e: /* Type */| ModelError::SqlError(e.to_string()))?;
[INFO] [stdout]    |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> apps/rusty/src/lobby/lobby.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CardAction`
[INFO] [stdout]  --> apps/rusty/src/game/effects/mod.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     action::{ActionTriggerType, CardAction, CardActionTarget, CardActionTrigger},
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]   --> apps/rusty/src/game/action/add_stat.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ability_id: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> apps/rusty/src/game/action/add_stat.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         game: &mut Game,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> apps/rusty/src/game/action/generate_mana.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |             |game: Arc<Mutex<Game>>,
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:417:18
[INFO] [stdout]     |
[INFO] [stdout] 417 |                  card: Arc<Mutex<Card>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:418:18
[INFO] [stdout]     |
[INFO] [stdout] 418 |                  ability_id: String|
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:582:9
[INFO] [stdout]     |
[INFO] [stdout] 582 |         target: EffectTarget,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:583:9
[INFO] [stdout]     |
[INFO] [stdout] 583 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:863:9
[INFO] [stdout]     |
[INFO] [stdout] 863 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:860:9
[INFO] [stdout]     |
[INFO] [stdout] 860 |         game: &mut Game,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:900:9
[INFO] [stdout]     |
[INFO] [stdout] 900 |         card: Arc<Mutex<Card>>,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:902:9
[INFO] [stdout]     |
[INFO] [stdout] 902 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1221:18
[INFO] [stdout]      |
[INFO] [stdout] 1221 |             for (player_index, player) in self.players.iter().enumerate() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1136:18
[INFO] [stdout]      |
[INFO] [stdout] 1136 |             for (index, card_in_play_arc) in player.cards_in_play.iter().enumerate() {
[INFO] [stdout]      |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attached_card`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1162:21
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         if let Some(attached_card) = card.attached.take() {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attached_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:931:9
[INFO] [stdout]     |
[INFO] [stdout] 931 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:934:34
[INFO] [stdout]     |
[INFO] [stdout] 934 |             EffectTarget::Player(arc) => todo!(),
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_arc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:952:44
[INFO] [stdout]     |
[INFO] [stdout] 952 |     async fn apply(&self, game: &mut Game, player_index: usize) -> Result<(), String> {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1180:14
[INFO] [stdout]      |
[INFO] [stdout] 1180 |         for (player_index, player) in self.players.iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1182:18
[INFO] [stdout]      |
[INFO] [stdout] 1182 |             for (card_index, card_in_play) in cards_in_play.iter().enumerate() {
[INFO] [stdout]      |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_card_owner`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1193:33
[INFO] [stdout]      |
[INFO] [stdout] 1193 |                     if let Some(current_card_owner) = &current_card_owner {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_card_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/action/mod.rs:971:9
[INFO] [stdout]     |
[INFO] [stdout] 971 |         ability_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1014:27
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     async fn apply(&self, game: &mut Game) -> Result<(), String> {
[INFO] [stdout]      |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1112:9
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         source: &Arc<Mutex<dyn DamageSource + Send + Sync>>,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         source: &Arc<Mutex<dyn DamageSource + Send + Sync>>,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1204:9
[INFO] [stdout]      |
[INFO] [stdout] 1204 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1269:9
[INFO] [stdout]      |
[INFO] [stdout] 1269 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1403:9
[INFO] [stdout]      |
[INFO] [stdout] 1403 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1474:9
[INFO] [stdout]      |
[INFO] [stdout] 1474 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1561:9
[INFO] [stdout]      |
[INFO] [stdout] 1561 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1604:9
[INFO] [stdout]      |
[INFO] [stdout] 1604 |         game: &mut Game,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1637:9
[INFO] [stdout]      |
[INFO] [stdout] 1637 |         target: EffectTarget,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1638:9
[INFO] [stdout]      |
[INFO] [stdout] 1638 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1635:9
[INFO] [stdout]      |
[INFO] [stdout] 1635 |         game: &mut Game,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1687:9
[INFO] [stdout]      |
[INFO] [stdout] 1687 |         target: EffectTarget,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1688:9
[INFO] [stdout]      |
[INFO] [stdout] 1688 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1690:13
[INFO] [stdout]      |
[INFO] [stdout] 1690 |         let owner = card_arc.lock().await.owner.clone();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1722:9
[INFO] [stdout]      |
[INFO] [stdout] 1722 |         target: EffectTarget,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1723:9
[INFO] [stdout]      |
[INFO] [stdout] 1723 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:668:18
[INFO] [stdout]     |
[INFO] [stdout] 668 |             for (index, (_, available_mana)) in available_lands.iter_mut().enumerate() {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1002:14
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         for (player_index, player) in self.players.iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trigger_target`
[INFO] [stdout]    --> apps/rusty/src/game/mod.rs:242:44
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         .and_then(|(phase, trigger_target)| {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trigger_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> apps/rusty/src/game/mod.rs:314:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |                 x => {}
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1781:34
[INFO] [stdout]      |
[INFO] [stdout] 1781 |         let canceled = Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1804:9
[INFO] [stdout]      |
[INFO] [stdout] 1804 |         target: EffectTarget,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1805:9
[INFO] [stdout]      |
[INFO] [stdout] 1805 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1852:9
[INFO] [stdout]      |
[INFO] [stdout] 1852 |         target: EffectTarget,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/action/mod.rs:1853:9
[INFO] [stdout]      |
[INFO] [stdout] 1853 |         ability_id: Option<String>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut card = Self {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vec`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:207:49
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 ActionTriggerType::PhaseStarted(vec, trigger_target) => true,
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trigger_target`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:207:54
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 ActionTriggerType::PhaseStarted(vec, trigger_target) => true,
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trigger_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trigger_target`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:208:59
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 ActionTriggerType::CreatureTypeCardPlayed(trigger_target, creature_type) => true,
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trigger_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `creature_type`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:208:75
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 ActionTriggerType::CreatureTypeCardPlayed(trigger_target, creature_type) => true,
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_creature_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trigger_target`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:216:52
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 ActionTriggerType::OtherCardExiled(trigger_target) => true,
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trigger_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mana_requirements`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:317:21
[INFO] [stdout]     |
[INFO] [stdout] 317 |                     mana_requirements,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mana_requirements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn`
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:394:9
[INFO] [stdout]     |
[INFO] [stdout] 394 |         turn: &Turn,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/black.rs:62:5
[INFO] [stdout]     |
[INFO] [stdout]  62 | /     create_creature_card!(
[INFO] [stdout]  63 | |         "Voracious Hydra",
[INFO] [stdout]  64 | |         CreatureType::None,
[INFO] [stdout]  65 | |         "Hydra that grows with X mana",
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> apps/rusty/src/game/decks/blue.rs:33:18
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]   --> apps/rusty/src/game/decks/blue.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |                  source: Arc<Mutex<Card>>,
[INFO] [stdout]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     create_creature_card!(
[INFO] [stdout] 150 | |         "Devoted Druid",
[INFO] [stdout] 151 | |         CreatureType::Elf,
[INFO] [stdout] 152 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:195:18
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 |                  ability_id: String|
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                         let mut stats = vec![
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:305:61
[INFO] [stdout]     |
[INFO] [stdout] 305 | ...                   Game::play_token(&game, &owner, create_creature_card!("Token", CreatureType::Elf, "", 1,1, [], [])).await.ok();
[INFO] [stdout]     |                                                       ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     create_creature_card!(
[INFO] [stdout] 214 | |         "Elvish Warmaster",
[INFO] [stdout] 215 | |         CreatureType::Elf,
[INFO] [stdout] 216 | |         "Whenever one or more other Elves you control enter, create a 1/1 green Elf Warrior creature token. This ability triggers...
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:241:30
[INFO] [stdout]     |
[INFO] [stdout] 241 |                         let (owner, cards_in_play) = {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |         target: Option<EffectTarget>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mana_type`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:962:33
[INFO] [stdout]     |
[INFO] [stdout] 962 |             CardType::BasicLand(mana_type) => self.mana_pool.played_card == false && is_my_turn,
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mana_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mana_type`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:963:36
[INFO] [stdout]     |
[INFO] [stdout] 963 |             CardType::AdvancedLand(mana_type) => self.mana_pool.played_card == false && is_my_turn,
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mana_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mana_type`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:964:41
[INFO] [stdout]     |
[INFO] [stdout] 964 |             CardType::AdvancedMultiLand(mana_type, mana_type1) => {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mana_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mana_type1`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:964:52
[INFO] [stdout]     |
[INFO] [stdout] 964 |             CardType::AdvancedMultiLand(mana_type, mana_type1) => {
[INFO] [stdout]     |                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mana_type1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 | /     create_creature_card!(
[INFO] [stdout] 317 | |         "Llanowar Elves",
[INFO] [stdout] 318 | |         CreatureType::Elf,
[INFO] [stdout] 319 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:341:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | /     create_creature_card!(
[INFO] [stdout] 342 | |         "Elvish Mystic",
[INFO] [stdout] 343 | |         CreatureType::Elf,
[INFO] [stdout] 344 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 362 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:366:5
[INFO] [stdout]     |
[INFO] [stdout] 366 | /     create_creature_card!(
[INFO] [stdout] 367 | |         "Elvish Archdruid",
[INFO] [stdout] 368 | |         CreatureType::Elf,
[INFO] [stdout] 369 | |         "Other Elf creatures you control get +1/+1.",
[INFO] [stdout] ...   |
[INFO] [stdout] 454 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:438:18
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 | /     create_creature_card!(
[INFO] [stdout] 459 | |         "Priest of Titania",
[INFO] [stdout] 460 | |         CreatureType::Elf,
[INFO] [stdout] 461 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 491 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:496:10
[INFO] [stdout]     |
[INFO] [stdout] 496 |         |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:497:10
[INFO] [stdout]     |
[INFO] [stdout] 497 |          source: Arc<Mutex<Card>>,
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:514:5
[INFO] [stdout]     |
[INFO] [stdout] 514 | /     create_creature_card!(
[INFO] [stdout] 515 | |         "Eladamri, Korvecdal",
[INFO] [stdout] 516 | |         CreatureType::Elf,
[INFO] [stdout] 517 | |         "You may look at the top card of your library any time.\nYou may cast creature spells from the top of your library.",
[INFO] [stdout] ...   |
[INFO] [stdout] 670 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:628:18
[INFO] [stdout]     |
[INFO] [stdout] 628 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:630:18
[INFO] [stdout]     |
[INFO] [stdout] 630 |                  ability_id|
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:591:165
[INFO] [stdout]     |
[INFO] [stdout] 591 | ...lid_card_indexes, Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:539:36
[INFO] [stdout]     |
[INFO] [stdout] 539 |                 ability: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 | /     create_creature_card!(
[INFO] [stdout] 675 | |         "Ezuri, Renegade Leader",
[INFO] [stdout] 676 | |         CreatureType::Elf,
[INFO] [stdout] 677 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 772 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green.rs:776:5
[INFO] [stdout]     |
[INFO] [stdout] 776 | /     create_creature_card!(
[INFO] [stdout] 777 | |         "Heritage Druid",
[INFO] [stdout] 778 | |         CreatureType::Elf,
[INFO] [stdout] 779 | |         "",
[INFO] [stdout] ...   |
[INFO] [stdout] 925 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:883:18
[INFO] [stdout]     |
[INFO] [stdout] 883 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:885:18
[INFO] [stdout]     |
[INFO] [stdout] 885 |                  ability_id|
[INFO] [stdout]     |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:801:36
[INFO] [stdout]     |
[INFO] [stdout] 801 |                 ability: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]      |
[INFO] [stdout]  714 |                           let mut stats = vec![
[INFO] [stdout]      |                               ----^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]     ::: apps/rusty/src/game/decks/green.rs:929:5
[INFO] [stdout]      |
[INFO] [stdout]  929 | /     create_creature_card!(
[INFO] [stdout]  930 | |         "Wirewood",
[INFO] [stdout]  931 | |         CreatureType::Elf,
[INFO] [stdout]  932 | |         "",
[INFO] [stdout] ...    |
[INFO] [stdout] 1018 | |     )
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1001:66
[INFO] [stdout]      |
[INFO] [stdout] 1001 |                 |game: Arc<Mutex<Game>>, card: Arc<Mutex<Card>>, ability_id| -> Pin<Box<dyn Future<Output = bool> + Send>> {
[INFO] [stdout]      |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:978:54
[INFO] [stdout]     |
[INFO] [stdout] 978 | ...                   |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:979:53
[INFO] [stdout]     |
[INFO] [stdout] 979 | ...                   source: Arc<Mutex<Card>>,
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:976:64
[INFO] [stdout]     |
[INFO] [stdout] 976 | ...                   ability: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green.rs:945:36
[INFO] [stdout]     |
[INFO] [stdout] 945 |                 ability: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> apps/rusty/src/game/mod.rs:723:18
[INFO] [stdout]     |
[INFO] [stdout] 723 |             for (index, card_arc) in cards_in_play.iter().enumerate() {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]      |
[INFO] [stdout]  714 |                           let mut stats = vec![
[INFO] [stdout]      |                               ----^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]     ::: apps/rusty/src/game/decks/green.rs:1022:5
[INFO] [stdout]      |
[INFO] [stdout] 1022 | /     create_creature_card!(
[INFO] [stdout] 1023 | |         "Leaf-Crowned Visionary",
[INFO] [stdout] 1024 | |         CreatureType::Elf,
[INFO] [stdout] 1025 | |         "Other Elves you control get +1/+1.\nWhenever you cast an Elf spell, you may pay {G}. If you do, draw a card.",
[INFO] [stdout] ...    |
[INFO] [stdout] 1099 | |     )
[INFO] [stdout]      | |_____- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1036:28
[INFO] [stdout]      |
[INFO] [stdout] 1036 |                  Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1267:137
[INFO] [stdout]      |
[INFO] [stdout] 1267 | ...id_card_indexes, Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]      |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]      |
[INFO] [stdout]  714 |                           let mut stats = vec![
[INFO] [stdout]      |                               ----^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]     ::: apps/rusty/src/game/decks/green.rs:1301:5
[INFO] [stdout]      |
[INFO] [stdout] 1301 | /     create_creature_card!(
[INFO] [stdout] 1302 | |             "Quirion Ranger",
[INFO] [stdout] 1303 | |             CreatureType::Elf,
[INFO] [stdout] 1304 | |             "",
[INFO] [stdout] ...    |
[INFO] [stdout] 1405 | |         )
[INFO] [stdout]      | |_________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1342:54
[INFO] [stdout]      |
[INFO] [stdout] 1342 | ...                   |game: Arc<Mutex<Game>>,
[INFO] [stdout]      |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_card`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1343:53
[INFO] [stdout]      |
[INFO] [stdout] 1343 | ...                   source_card: Arc<Mutex<Card>>,
[INFO] [stdout]      |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1466:41
[INFO] [stdout]      |
[INFO] [stdout] 1466 |                     canceled: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1454:30
[INFO] [stdout]      |
[INFO] [stdout] 1454 | ...                   |game: Arc<Mutex<Game>>,
[INFO] [stdout]      |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]     --> apps/rusty/src/game/decks/green.rs:1452:40
[INFO] [stdout]      |
[INFO] [stdout] 1452 |                     ability: Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]      |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green_a.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |             |game: Arc<Mutex<Game>>,
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                         let mut stats = vec![
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/green_a.rs:202:65
[INFO] [stdout]     |
[INFO] [stdout] 202 | ...e, &owner, create_creature_card!("Token - Elf Warrior", CreatureType::Elf, "", 1,1, [], [])).await.ok();
[INFO] [stdout]     |               -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:285:22
[INFO] [stdout]     |
[INFO] [stdout] 285 |                     |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:287:22
[INFO] [stdout]     |
[INFO] [stdout] 287 |                      ability_id|
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `toughness`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:246:80
[INFO] [stdout]     |
[INFO] [stdout] 246 | ...                   let (owner, creature_type, toughness) = {
[INFO] [stdout]     |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_toughness`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `owner`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:237:41
[INFO] [stdout]     |
[INFO] [stdout] 237 | ...                   if let Some(owner) = owner {
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:209:22
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:211:22
[INFO] [stdout]     |
[INFO] [stdout] 211 |                      ability_id|
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:198:77
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...e_card: Arc<Mutex<Card>>, target, ability_id| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:198:85
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...Mutex<Card>>, target, ability_id| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:179:22
[INFO] [stdout]     |
[INFO] [stdout] 179 |                     |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |                      ability_id|
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:143:55
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   Arc::new(|card| -> Arc<dyn CardAction + Send + Sync> {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:126:77
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...e_card: Arc<Mutex<Card>>, target, ability_id| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...   |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>, target| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]     |        ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/green_a.rs:102:46
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...   |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>, target| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> apps/rusty/src/game/decks/green_a.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>| -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:237:22
[INFO] [stdout]     |
[INFO] [stdout] 237 |                      ability_id|
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actions`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1400:13
[INFO] [stdout]      |
[INFO] [stdout] 1400 |         let mut actions: Vec<Arc<dyn Action + Send + Sync>> = vec![];
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1403:14
[INFO] [stdout]      |
[INFO] [stdout] 1403 |         for (player_index, player) in players.iter().enumerate() {
[INFO] [stdout]      |              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_index`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1433:18
[INFO] [stdout]      |
[INFO] [stdout] 1433 |             for (player_index, player) in self.players.iter().enumerate() {
[INFO] [stdout]      |                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:318:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     create_creature_card!(
[INFO] [stdout] 319 | |         "Skyclave Cleric",
[INFO] [stdout] 320 | |         CreatureType::Angel,
[INFO] [stdout] 321 | |         "When Skyclave Cleric enters, you gain 2 life.",
[INFO] [stdout] ...   |
[INFO] [stdout] 347 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:396:27
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     move |target,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:399:27
[INFO] [stdout]     |
[INFO] [stdout] 399 |                           id|
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |                 |game: Arc<Mutex<Game>>,
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:364:18
[INFO] [stdout]     |
[INFO] [stdout] 364 |                  target: Arc<Mutex<Card>>|
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | /     create_creature_card!(
[INFO] [stdout] 446 | |         "Serra Ascendant",
[INFO] [stdout] 447 | |         CreatureType::None,
[INFO] [stdout] 448 | |         "As long as you have 30 or more life, Serra Ascendant gets +5/+5 and has flying.",
[INFO] [stdout] ...   |
[INFO] [stdout] 538 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:476:27
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     move |target,
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:479:27
[INFO] [stdout]     |
[INFO] [stdout] 479 |                           id|
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:696:5
[INFO] [stdout]     |
[INFO] [stdout] 696 | /     create_creature_card!(
[INFO] [stdout] 697 | |         "Lunarch Veteran",
[INFO] [stdout] 698 | |         CreatureType::Angel,
[INFO] [stdout] 699 | |         "Whenever another creature you control enters, you gain 1 life.",
[INFO] [stdout] ...   |
[INFO] [stdout] 729 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:710:18
[INFO] [stdout]     |
[INFO] [stdout] 710 |                  source: Arc<Mutex<Card>>,
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                         let mut stats = vec![
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:796:61
[INFO] [stdout]     |
[INFO] [stdout] 796 | ...n(&game, &owner, create_creature_card!("Token", CreatureType::Angel, "", 4,4, [], [])).await.ok();
[INFO] [stdout]     |                     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                         let mut stats = vec![
[INFO] [stdout]     |                             ----^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:827:65
[INFO] [stdout]     |
[INFO] [stdout] 827 | ...n(&game, &owner, create_creature_card!("Token", CreatureType::Angel, "", 4,4, [], [])).await.ok();
[INFO] [stdout]     |                     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]     |
[INFO] [stdout] 714 |                           let mut stats = vec![
[INFO] [stdout]     |                               ----^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: apps/rusty/src/game/decks/white.rs:844:5
[INFO] [stdout]     |
[INFO] [stdout] 844 | /     create_creature_card!(
[INFO] [stdout] 845 | |         "Bishop of Wings",
[INFO] [stdout] 846 | |         CreatureType::Angel,
[INFO] [stdout] 847 | |         "Whenever an Angel you control enters, you gain 4 life.\nWhenever an Angel you control dies, create a 1/1 white Spirit cr...
[INFO] [stdout] ...   |
[INFO] [stdout] 905 | |     )
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:887:42
[INFO] [stdout]     |
[INFO] [stdout] 887 | ...   |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>, card_played: Arc<Mutex<Card>>| -> Pin<Box<dyn Future<Output = Result<(), S...
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:868:42
[INFO] [stdout]     |
[INFO] [stdout] 868 | ...   |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>, card_destroyed: Arc<Mutex<Card>>| -> Pin<Box<dyn Future<Output = Result<()...
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> apps/rusty/src/game/card.rs:714:29
[INFO] [stdout]      |
[INFO] [stdout]  714 |                           let mut stats = vec![
[INFO] [stdout]      |                               ----^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]     ::: apps/rusty/src/game/decks/white.rs:990:65
[INFO] [stdout]      |
[INFO] [stdout]  990 |   ...   Game::play_token(&game, &owner, create_creature_card!("Token - Ajani's Pridemate", CreatureType::None, "Whenever you gain ...
[INFO] [stdout]      |  _______________________________________-
[INFO] [stdout]  991 | | ...
[INFO] [stdout]  992 | | ...       CardActionTrigger::new(
[INFO] [stdout]  993 | | ...           ActionTriggerType::HealthGained,
[INFO] [stdout] ...    |
[INFO] [stdout] 1002 | | ...           )))
[INFO] [stdout] 1003 | | ...       ))).await?;
[INFO] [stdout]      | |____________- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `create_creature_card` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1013:22
[INFO] [stdout]      |
[INFO] [stdout] 1013 |                      ability_id|
[INFO] [stdout]      |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability_id`
[INFO] [stdout]    --> apps/rusty/src/game/decks/white.rs:960:22
[INFO] [stdout]     |
[INFO] [stdout] 960 |                      ability_id|
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1168:42
[INFO] [stdout]      |
[INFO] [stdout] 1168 | ...   |game: Arc<Mutex<Game>>, source: Arc<Mutex<Card>>, card_played: Arc<Mutex<Card>>| -> Pin<Box<dyn Future<Output = Result<(), ...
[INFO] [stdout]      |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1113:27
[INFO] [stdout]      |
[INFO] [stdout] 1113 | ...   move |target, source_card, amount, id| -> Pin<Box<dyn Future<Output = Vec<Arc<Mutex<dyn Effect + Send + Sync>>>> + Send>> {
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> apps/rusty/src/game/decks/white.rs:1113:56
[INFO] [stdout]      |
[INFO] [stdout] 1113 | ...   move |target, source_card, amount, id| -> Pin<Box<dyn Future<Output = Vec<Arc<Mutex<dyn Effect + Send + Sync>>>> + Send>> {
[INFO] [stdout]      |                                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effect_id`
[INFO] [stdout]    --> apps/rusty/src/game/effects/mod.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |         for (effect_id, effect_arc) in effect_entries {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effect_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> apps/rusty/src/game/effects/mod.rs:417:38
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 EffectTarget::CardId(id) => todo!(),
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `turn`
[INFO] [stdout]    --> apps/rusty/src/game/effects/mod.rs:556:31
[INFO] [stdout]     |
[INFO] [stdout] 556 |     async fn apply(&mut self, turn: Turn) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut player = Self {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:164:32
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub fn set_deck(&mut self, card: Vec<Card>) {}
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_card`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attached`
[INFO] [stdout]    --> apps/rusty/src/game/player.rs:445:29
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 if let Some(attached) = &attached {
[INFO] [stdout]     |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attached`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_play`
[INFO] [stdout]    --> apps/rusty/src/game/mod.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let in_play = frontend_target.pile == FrontendPileName::Play;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_play`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> apps/rusty/src/game/mod.rs:748:9
[INFO] [stdout]     |
[INFO] [stdout] 748 |         player: &Arc<Mutex<Player>>,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1062:34
[INFO] [stdout]      |
[INFO] [stdout] 1062 |             EffectTarget::Player(arc) => FrontendTarget::Player(0),
[INFO] [stdout]      |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_arc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all_passed`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:2051:17
[INFO] [stdout]      |
[INFO] [stdout] 2051 |             let mut all_passed = true;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_passed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_player`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1963:13
[INFO] [stdout]      |
[INFO] [stdout] 1963 |         let current_player = Arc::clone(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action_performed`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1981:17
[INFO] [stdout]      |
[INFO] [stdout] 1981 |             let action_performed = {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_action_performed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_arc`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:1919:9
[INFO] [stdout]      |
[INFO] [stdout] 1919 |         player_arc: Arc<Mutex<Player>>,
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_arc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action_taken`
[INFO] [stdout]     --> apps/rusty/src/game/mod.rs:2152:45
[INFO] [stdout]      |
[INFO] [stdout] 2152 |             if let Some((current_player, _, action_taken)) = &mut self.current_priority_player {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_action_taken`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> apps/rusty/src/http/controllers/authentication.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub async fn me(ctx: Ctx) -> AppResult<String> {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]   --> apps/rusty/src/http/controllers/lobby.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let user = ctx.required_user()?;
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub async fn list_desks(&mut self, user: &Claims) -> Vec<DeckSelector> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:486:21
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 let phase = {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_phase`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> apps/rusty/src/http/controllers/lobby.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |             .map_err(|x| AppError::BadRequest("No such lobby".to_string()))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let player = Player::new(&user.sub.clone(), 20, vec![]);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let player = self.data.game_state.players.insert(
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:239:54
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub async fn advance_turn(&self, lobby_id: &str, user: &Claims) -> Option<()> {
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:300:59
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub async fn action_card(&self, args: ActionCardArgs, user: &Claims) -> AppResult<()> {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> apps/rusty/src/lobby/lobby.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 |         for (index, current_player) in players.iter().enumerate() {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub async fn attach_card(&self, args: ActionCardArgs, user: &Claims) -> AppResult<()> {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_arc`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:428:26
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let (player_arc, card_arc) = {
[INFO] [stdout]     |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_arc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lobby_manager_clone`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:440:13
[INFO] [stdout]     |
[INFO] [stdout] 440 |         let lobby_manager_clone = self.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lobby_manager_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lobby_id_clone`
[INFO] [stdout]    --> apps/rusty/src/lobby/manager.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let lobby_id_clone = lobby_id.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lobby_id_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> apps/rusty/src/http/controllers/lobby.rs:233:23
[INFO] [stdout]     |
[INFO] [stdout] 233 |             .map_err(|x| AppError::BadRequest("Bad lobby id".to_string()))?;
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> apps/rusty/src/http/routers/mod.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 |         .query("version", |t| t(|ctx, input: ()| env!("CARGO_PKG_VERSION")))
[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]   --> apps/rusty/src/http/routers/mod.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |         .query("version", |t| t(|ctx, input: ()| env!("CARGO_PKG_VERSION")))
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tfa` (bin "tfa") due to 15 previous errors; 316 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "764814acdeafe695bc15d79cfd0a9a44c85f2b0018b0a83d2db431cb1f4621cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "764814acdeafe695bc15d79cfd0a9a44c85f2b0018b0a83d2db431cb1f4621cd", kill_on_drop: false }`
[INFO] [stdout] 764814acdeafe695bc15d79cfd0a9a44c85f2b0018b0a83d2db431cb1f4621cd
