[INFO] cloning repository https://github.com/f0ursqu4r3/peachtrees
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/f0ursqu4r3/peachtrees" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fpeachtrees", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fpeachtrees'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d6141b651a7617217143e63743fe5c362f0714ac
[INFO] testing f0ursqu4r3/peachtrees against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fpeachtrees" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/f0ursqu4r3/peachtrees
[INFO] finished tweaking git repo https://github.com/f0ursqu4r3/peachtrees
[INFO] tweaked toml for git repo https://github.com/f0ursqu4r3/peachtrees written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/f0ursqu4r3/peachtrees on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/f0ursqu4r3/peachtrees 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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1012e5e02589ccea77d47affaf8fe80467187325583f50490d514dac4791403b
[INFO] running `Command { std: "docker" "start" "-a" "1012e5e02589ccea77d47affaf8fe80467187325583f50490d514dac4791403b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1012e5e02589ccea77d47affaf8fe80467187325583f50490d514dac4791403b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1012e5e02589ccea77d47affaf8fe80467187325583f50490d514dac4791403b", kill_on_drop: false }`
[INFO] [stdout] 1012e5e02589ccea77d47affaf8fe80467187325583f50490d514dac4791403b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f9f85e93eafa966cc312895bb9f90eb12b0ed35c68a7b64221a3c7b97067f8d6
[INFO] running `Command { std: "docker" "start" "-a" "f9f85e93eafa966cc312895bb9f90eb12b0ed35c68a7b64221a3c7b97067f8d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling rustls v0.23.28
[INFO] [stderr]    Compiling webpki-roots v1.0.1
[INFO] [stderr]    Compiling prettyplease v0.2.35
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling imgui-sys v0.12.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling mint v0.5.9
[INFO] [stderr]    Compiling chlorine v1.0.13
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling password-hash v0.4.2
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling argon2 v0.4.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustls-webpki v0.103.3
[INFO] [stderr]    Compiling test-client v0.1.0 (/opt/rustwide/workdir/test-client)
[INFO] [stderr]    Compiling raylib-sys v5.5.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling imgui v0.12.0
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stdout] warning: unused imports: `AuthError` and `AuthResult`
[INFO] [stdout]  --> server/src/auth/mod.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use service::{AuthService, AuthResult, AuthError};
[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: `CommonAreaType`
[INFO] [stdout]  --> server/src/world.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 |                     FloorLayout, FloorLayoutType, CommonAreaType, ZoneConnection, ConnectionType};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AuthSystem` is never used
[INFO] [stdout]   --> server/src/auth/mod.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type AuthSystem = Arc<AuthService<crate::persistence::UserRepositoryImpl, Argon2PasswordHasher>>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]   --> server/src/auth/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AuthenticationResult {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 19 |     pub user_id: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserNotFound` is never constructed
[INFO] [stdout]   --> server/src/auth/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum AuthenticationError {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     UserNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_id`, `update_password`, and `deactivate_user` are never used
[INFO] [stdout]   --> server/src/auth/repository.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     async fn find_by_id(&self, user_id: u64) -> anyhow::Result<Option<User>>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     async fn update_password(&self, user_id: u64, new_password_hash: String) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     async fn deactivate_user(&self, user_id: u64) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/auth/repository.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl User {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 49 |     /// Create a new user instance
[INFO] [stdout] 50 |     pub fn new(id: u64, username: String, password_hash: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `logout`, `get_session_info`, `change_password`, `cleanup_sessions`, and `active_session_count` are never used
[INFO] [stdout]    --> server/src/auth/service.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | / impl<R, P> AuthService<R, P>
[INFO] [stdout]  26 | | where
[INFO] [stdout]  27 | |     R: UserRepository,
[INFO] [stdout]  28 | |     P: PasswordHasher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |       pub async fn logout(&self, session_id: &str) -> AuthResult<()> {
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |       pub async fn get_session_info(&self, session_id: &str) -> AuthResult<SessionInfo> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |       pub async fn change_password(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |       pub async fn cleanup_sessions(&self) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |       pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/auth/session.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SessionInfo {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cleanup_expired_sessions` and `active_session_count` are never used
[INFO] [stdout]   --> server/src/auth/session.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SessionManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn cleanup_expired_sessions(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_event_id` is never read
[INFO] [stdout]   --> server/src/persistence/mod.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RecoveredWorldState {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub next_event_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveredWorldState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `zone_player_counts` is never read
[INFO] [stdout]  --> server/src/world.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorldManager {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 7 |     pub building: Building,
[INFO] [stdout] 8 |     pub zone_player_counts: HashMap<ZoneId, u32>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_starting_zone`, `get_players_in_zone`, `update_zone_player_count`, and `can_player_access_zone` are never used
[INFO] [stdout]    --> server/src/world.rs:367:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl WorldManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn get_starting_zone(&self, player_id: u64) -> (String, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_players_in_zone(&self, zone_id: &str) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn update_zone_player_count(&mut self, zone_id: String, count: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn can_player_access_zone(&self, player_id: u64, zone_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling raylib v5.5.1
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> client/src/components/mod.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ComponentStorage {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn remove<T: Component + 'static>(&mut self) -> Option<Box<dyn ComponentClone>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_depth` is never used
[INFO] [stdout]   --> client/src/components/core.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Transform {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn with_depth(mut self, depth: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `trigger` is never used
[INFO] [stdout]   --> client/src/components/core.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Collider {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn trigger(width: f32, height: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `center` is never used
[INFO] [stdout]    --> client/src/components/core.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl CollisionBounds {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn center(&self) -> (f32, f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_offset`, `with_origin`, and `with_top_left_origin` are never used
[INFO] [stdout]    --> client/src/components/core.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Sprite {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn with_offset(mut self, x: f32, y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn with_origin(mut self, origin_x: f32, origin_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn with_top_left_origin(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InteractionType` is never used
[INFO] [stdout]    --> client/src/components/core.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub enum InteractionType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interactable` is never constructed
[INFO] [stdout]    --> client/src/components/core.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct Interactable {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `door` and `locked_door` are never used
[INFO] [stdout]    --> client/src/components/core.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl Interactable {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 309 |     pub fn door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn locked_door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `custom` and `custom_with_origin` are never used
[INFO] [stdout]   --> client/src/entities/sprites.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl SpriteFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn custom(texture_name: &str, width: f32, height: f32) -> Sprite {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn custom_with_origin(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FurnitureSprites` is never constructed
[INFO] [stdout]   --> client/src/entities/sprites.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub struct FurnitureSprites;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `dining_table`, `dining_chair`, `office_desk`, `office_chair`, `bookshelf`, and `couch` are never used
[INFO] [stdout]   --> client/src/entities/sprites.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     impl FurnitureSprites {
[INFO] [stdout]    |     --------------------- associated functions in this implementation
[INFO] [stdout] 70 |         pub fn dining_table() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |         pub fn dining_chair() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |         pub fn office_desk() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |         pub fn office_chair() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |         pub fn bookshelf() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |         pub fn couch() -> Sprite {
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructureSprites` is never constructed
[INFO] [stdout]   --> client/src/entities/sprites.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub struct StructureSprites;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `interior_wall`, `exterior_wall`, `window`, `standard_door`, `apartment_door`, and `elevator_door` are never used
[INFO] [stdout]    --> client/src/entities/sprites.rs:99:16
[INFO] [stdout]     |
[INFO] [stdout]  98 |     impl StructureSprites {
[INFO] [stdout]     |     --------------------- associated functions in this implementation
[INFO] [stdout]  99 |         pub fn interior_wall() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |         pub fn exterior_wall() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         pub fn window() -> Sprite {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |         pub fn standard_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |         pub fn apartment_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |         pub fn elevator_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharacterSprites` is never constructed
[INFO] [stdout]    --> client/src/entities/sprites.rs:125:16
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub struct CharacterSprites;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `player`, `npc_resident`, `npc_maintenance`, and `npc_security` are never used
[INFO] [stdout]    --> client/src/entities/sprites.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 127 |     impl CharacterSprites {
[INFO] [stdout]     |     --------------------- associated functions in this implementation
[INFO] [stdout] 128 |         pub fn player() -> Sprite {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |         pub fn npc_resident() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |         pub fn npc_maintenance() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         pub fn npc_security() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `screen_width` and `screen_height` are never read
[INFO] [stdout]   --> client/src/systems/render.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RenderSystem {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     screen_width: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     screen_height: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isometric_to_world` is never used
[INFO] [stdout]    --> client/src/systems/render.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn isometric_to_world(iso_x: f32, iso_y: f32) -> Vector2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_entity`, `move_entity_to_zone`, `query_entities`, and `get_triggers_at` are never used
[INFO] [stdout]    --> client/src/world.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl GameWorld {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn remove_entity(&mut self, id: EntityId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn move_entity_to_zone(&mut self, entity_id: EntityId, new_zone_id: &str, new_floor: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn query_entities<F>(&self, predicate: F) -> Vec<&Entity>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_triggers_at(&self, x: f32, y: f32, width: f32, height: f32) -> Vec<EntityId> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "f9f85e93eafa966cc312895bb9f90eb12b0ed35c68a7b64221a3c7b97067f8d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9f85e93eafa966cc312895bb9f90eb12b0ed35c68a7b64221a3c7b97067f8d6", kill_on_drop: false }`
[INFO] [stdout] f9f85e93eafa966cc312895bb9f90eb12b0ed35c68a7b64221a3c7b97067f8d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d8b829c87bfeb29c8216548bec6d6e9d795c6b57b6e0d8ada328cbcd9a5a4e8
[INFO] running `Command { std: "docker" "start" "-a" "2d8b829c87bfeb29c8216548bec6d6e9d795c6b57b6e0d8ada328cbcd9a5a4e8", kill_on_drop: false }`
[INFO] [stderr]    Compiling test-client v0.1.0 (/opt/rustwide/workdir/test-client)
[INFO] [stderr]    Compiling common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stdout] warning: unused imports: `AuthError` and `AuthResult`
[INFO] [stdout]  --> server/src/auth/mod.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use service::{AuthService, AuthResult, AuthError};
[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: `CommonAreaType`
[INFO] [stdout]  --> server/src/world.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 |                     FloorLayout, FloorLayoutType, CommonAreaType, ZoneConnection, ConnectionType};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AuthSystem` is never used
[INFO] [stdout]   --> server/src/auth/mod.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type AuthSystem = Arc<AuthService<crate::persistence::UserRepositoryImpl, Argon2PasswordHasher>>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]   --> server/src/auth/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AuthenticationResult {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 19 |     pub user_id: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserNotFound` is never constructed
[INFO] [stdout]   --> server/src/auth/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum AuthenticationError {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     UserNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_id`, `update_password`, and `deactivate_user` are never used
[INFO] [stdout]   --> server/src/auth/repository.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     async fn find_by_id(&self, user_id: u64) -> anyhow::Result<Option<User>>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     async fn update_password(&self, user_id: u64, new_password_hash: String) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     async fn deactivate_user(&self, user_id: u64) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/auth/repository.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl User {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 49 |     /// Create a new user instance
[INFO] [stdout] 50 |     pub fn new(id: u64, username: String, password_hash: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `logout`, `get_session_info`, `change_password`, `cleanup_sessions`, and `active_session_count` are never used
[INFO] [stdout]    --> server/src/auth/service.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | / impl<R, P> AuthService<R, P>
[INFO] [stdout]  26 | | where
[INFO] [stdout]  27 | |     R: UserRepository,
[INFO] [stdout]  28 | |     P: PasswordHasher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |       pub async fn logout(&self, session_id: &str) -> AuthResult<()> {
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |       pub async fn get_session_info(&self, session_id: &str) -> AuthResult<SessionInfo> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |       pub async fn change_password(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |       pub async fn cleanup_sessions(&self) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |       pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/auth/session.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SessionInfo {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cleanup_expired_sessions` and `active_session_count` are never used
[INFO] [stdout]   --> server/src/auth/session.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SessionManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn cleanup_expired_sessions(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_event_id` is never read
[INFO] [stdout]   --> server/src/persistence/mod.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RecoveredWorldState {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub next_event_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveredWorldState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `zone_player_counts` is never read
[INFO] [stdout]  --> server/src/world.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorldManager {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 7 |     pub building: Building,
[INFO] [stdout] 8 |     pub zone_player_counts: HashMap<ZoneId, u32>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_starting_zone`, `get_players_in_zone`, `update_zone_player_count`, and `can_player_access_zone` are never used
[INFO] [stdout]    --> server/src/world.rs:367:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl WorldManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn get_starting_zone(&self, player_id: u64) -> (String, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_players_in_zone(&self, zone_id: &str) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn update_zone_player_count(&mut self, zone_id: String, count: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn can_player_access_zone(&self, player_id: u64, zone_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthError` and `AuthResult`
[INFO] [stdout]  --> server/src/auth/mod.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use service::{AuthService, AuthResult, AuthError};
[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: `CommonAreaType`
[INFO] [stdout]  --> server/src/world.rs:3:51
[INFO] [stdout]   |
[INFO] [stdout] 3 |                     FloorLayout, FloorLayoutType, CommonAreaType, ZoneConnection, ConnectionType};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> client/src/components/mod.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ComponentStorage {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn remove<T: Component + 'static>(&mut self) -> Option<Box<dyn ComponentClone>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_depth` is never used
[INFO] [stdout]   --> client/src/components/core.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Transform {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn with_depth(mut self, depth: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `trigger` is never used
[INFO] [stdout]   --> client/src/components/core.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Collider {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn trigger(width: f32, height: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `center` is never used
[INFO] [stdout]    --> client/src/components/core.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl CollisionBounds {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn center(&self) -> (f32, f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_offset`, `with_origin`, and `with_top_left_origin` are never used
[INFO] [stdout]    --> client/src/components/core.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Sprite {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn with_offset(mut self, x: f32, y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn with_origin(mut self, origin_x: f32, origin_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn with_top_left_origin(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InteractionType` is never used
[INFO] [stdout]    --> client/src/components/core.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub enum InteractionType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Interactable` is never constructed
[INFO] [stdout]    --> client/src/components/core.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct Interactable {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `door` and `locked_door` are never used
[INFO] [stdout]    --> client/src/components/core.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl Interactable {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 309 |     pub fn door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn locked_door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `custom` and `custom_with_origin` are never used
[INFO] [stdout]   --> client/src/entities/sprites.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl SpriteFactory {
[INFO] [stdout]    | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn custom(texture_name: &str, width: f32, height: f32) -> Sprite {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn custom_with_origin(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FurnitureSprites` is never constructed
[INFO] [stdout]   --> client/src/entities/sprites.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub struct FurnitureSprites;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `dining_table`, `dining_chair`, `office_desk`, `office_chair`, `bookshelf`, and `couch` are never used
[INFO] [stdout]   --> client/src/entities/sprites.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     impl FurnitureSprites {
[INFO] [stdout]    |     --------------------- associated functions in this implementation
[INFO] [stdout] 70 |         pub fn dining_table() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |         pub fn dining_chair() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |         pub fn office_desk() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |         pub fn office_chair() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |         pub fn bookshelf() -> Sprite {
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |         pub fn couch() -> Sprite {
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StructureSprites` is never constructed
[INFO] [stdout]   --> client/src/entities/sprites.rs:96:16
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub struct StructureSprites;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `interior_wall`, `exterior_wall`, `window`, `standard_door`, `apartment_door`, and `elevator_door` are never used
[INFO] [stdout]    --> client/src/entities/sprites.rs:99:16
[INFO] [stdout]     |
[INFO] [stdout]  98 |     impl StructureSprites {
[INFO] [stdout]     |     --------------------- associated functions in this implementation
[INFO] [stdout]  99 |         pub fn interior_wall() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |         pub fn exterior_wall() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         pub fn window() -> Sprite {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |         pub fn standard_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |         pub fn apartment_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |         pub fn elevator_door() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharacterSprites` is never constructed
[INFO] [stdout]    --> client/src/entities/sprites.rs:125:16
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub struct CharacterSprites;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `player`, `npc_resident`, `npc_maintenance`, and `npc_security` are never used
[INFO] [stdout]    --> client/src/entities/sprites.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 127 |     impl CharacterSprites {
[INFO] [stdout]     |     --------------------- associated functions in this implementation
[INFO] [stdout] 128 |         pub fn player() -> Sprite {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |         pub fn npc_resident() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |         pub fn npc_maintenance() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |         pub fn npc_security() -> Sprite {
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `screen_width` and `screen_height` are never read
[INFO] [stdout]   --> client/src/systems/render.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RenderSystem {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     screen_width: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     screen_height: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isometric_to_world` is never used
[INFO] [stdout]    --> client/src/systems/render.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn isometric_to_world(iso_x: f32, iso_y: f32) -> Vector2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_entity`, `move_entity_to_zone`, `query_entities`, and `get_triggers_at` are never used
[INFO] [stdout]    --> client/src/world.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl GameWorld {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn remove_entity(&mut self, id: EntityId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn move_entity_to_zone(&mut self, entity_id: EntityId, new_zone_id: &str, new_floor: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn query_entities<F>(&self, predicate: F) -> Vec<&Entity>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn get_triggers_at(&self, x: f32, y: f32, width: f32, height: f32) -> Vec<EntityId> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AuthSystem` is never used
[INFO] [stdout]   --> server/src/auth/mod.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type AuthSystem = Arc<AuthService<crate::persistence::UserRepositoryImpl, Argon2PasswordHasher>>;
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]   --> server/src/auth/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AuthenticationResult {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 19 |     pub user_id: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserNotFound` is never constructed
[INFO] [stdout]   --> server/src/auth/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum AuthenticationError {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     UserNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthenticationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_id`, `update_password`, and `deactivate_user` are never used
[INFO] [stdout]   --> server/src/auth/repository.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     async fn find_by_id(&self, user_id: u64) -> anyhow::Result<Option<User>>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     async fn update_password(&self, user_id: u64, new_password_hash: String) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     async fn deactivate_user(&self, user_id: u64) -> anyhow::Result<()>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/auth/repository.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl User {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 49 |     /// Create a new user instance
[INFO] [stdout] 50 |     pub fn new(id: u64, username: String, password_hash: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `logout`, `get_session_info`, `change_password`, `cleanup_sessions`, and `active_session_count` are never used
[INFO] [stdout]    --> server/src/auth/service.rs:165:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | / impl<R, P> AuthService<R, P>
[INFO] [stdout]  26 | | where
[INFO] [stdout]  27 | |     R: UserRepository,
[INFO] [stdout]  28 | |     P: PasswordHasher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |       pub async fn logout(&self, session_id: &str) -> AuthResult<()> {
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |       pub async fn get_session_info(&self, session_id: &str) -> AuthResult<SessionInfo> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |       pub async fn change_password(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |       pub async fn cleanup_sessions(&self) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |       pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/auth/session.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SessionInfo {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cleanup_expired_sessions` and `active_session_count` are never used
[INFO] [stdout]   --> server/src/auth/session.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SessionManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn cleanup_expired_sessions(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_event_id` is never read
[INFO] [stdout]   --> server/src/persistence/mod.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RecoveredWorldState {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub next_event_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveredWorldState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `zone_player_counts` is never read
[INFO] [stdout]  --> server/src/world.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorldManager {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 7 |     pub building: Building,
[INFO] [stdout] 8 |     pub zone_player_counts: HashMap<ZoneId, u32>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_starting_zone`, `get_players_in_zone`, `update_zone_player_count`, and `can_player_access_zone` are never used
[INFO] [stdout]    --> server/src/world.rs:367:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl WorldManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn get_starting_zone(&self, player_id: u64) -> (String, i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_players_in_zone(&self, zone_id: &str) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn update_zone_player_count(&mut self, zone_id: String, count: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn can_player_access_zone(&self, player_id: u64, zone_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.38s
[INFO] running `Command { std: "docker" "inspect" "2d8b829c87bfeb29c8216548bec6d6e9d795c6b57b6e0d8ada328cbcd9a5a4e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d8b829c87bfeb29c8216548bec6d6e9d795c6b57b6e0d8ada328cbcd9a5a4e8", kill_on_drop: false }`
[INFO] [stdout] 2d8b829c87bfeb29c8216548bec6d6e9d795c6b57b6e0d8ada328cbcd9a5a4e8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 69ad0c3ef4db894852670497343097c4937fa232b1140aeda53a19028e62e611
[INFO] running `Command { std: "docker" "start" "-a" "69ad0c3ef4db894852670497343097c4937fa232b1140aeda53a19028e62e611", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `AuthError` and `AuthResult`
[INFO] [stderr]  --> server/src/auth/mod.rs:8:32
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use service::{AuthService, AuthResult, AuthError};
[INFO] [stderr]   |                                ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CommonAreaType`
[INFO] [stderr]  --> server/src/world.rs:3:51
[INFO] [stderr]   |
[INFO] [stderr] 3 |                     FloorLayout, FloorLayoutType, CommonAreaType, ZoneConnection, ConnectionType};
[INFO] [stderr]   |                                                   ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `AuthSystem` is never used
[INFO] [stderr]   --> server/src/auth/mod.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub type AuthSystem = Arc<AuthService<crate::persistence::UserRepositoryImpl, Argon2PasswordHasher>>;
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `user_id` is never read
[INFO] [stderr]   --> server/src/auth/mod.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct AuthenticationResult {
[INFO] [stderr]    |            -------------------- field in this struct
[INFO] [stderr] 19 |     pub user_id: u64,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AuthenticationResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `UserNotFound` is never constructed
[INFO] [stderr]   --> server/src/auth/mod.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub enum AuthenticationError {
[INFO] [stderr]    |          ------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 33 |     UserNotFound,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AuthenticationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `find_by_id`, `update_password`, and `deactivate_user` are never used
[INFO] [stderr]   --> server/src/auth/repository.rs:36:14
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub trait UserRepository: Send + Sync {
[INFO] [stderr]    |           -------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 36 |     async fn find_by_id(&self, user_id: u64) -> anyhow::Result<Option<User>>;
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     async fn update_password(&self, user_id: u64, new_password_hash: String) -> anyhow::Result<()>;
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     async fn deactivate_user(&self, user_id: u64) -> anyhow::Result<()>;
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> server/src/auth/repository.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl User {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 49 |     /// Create a new user instance
[INFO] [stderr] 50 |     pub fn new(id: u64, username: String, password_hash: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `logout`, `get_session_info`, `change_password`, `cleanup_sessions`, and `active_session_count` are never used
[INFO] [stderr]    --> server/src/auth/service.rs:165:18
[INFO] [stderr]     |
[INFO] [stderr]  25 | / impl<R, P> AuthService<R, P>
[INFO] [stderr]  26 | | where
[INFO] [stderr]  27 | |     R: UserRepository,
[INFO] [stderr]  28 | |     P: PasswordHasher,
[INFO] [stderr]     | |______________________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 165 |       pub async fn logout(&self, session_id: &str) -> AuthResult<()> {
[INFO] [stderr]     |                    ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |       pub async fn get_session_info(&self, session_id: &str) -> AuthResult<SessionInfo> {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |       pub async fn change_password(
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |       pub async fn cleanup_sessions(&self) {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |       pub async fn active_session_count(&self) -> usize {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `created_at` is never read
[INFO] [stderr]   --> server/src/auth/session.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct SessionInfo {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub created_at: DateTime<Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SessionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `cleanup_expired_sessions` and `active_session_count` are never used
[INFO] [stderr]   --> server/src/auth/session.rs:91:18
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl SessionManager {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub async fn cleanup_expired_sessions(&self) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 99 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `next_event_id` is never read
[INFO] [stderr]   --> server/src/persistence/mod.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub struct RecoveredWorldState {
[INFO] [stderr]    |            ------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub next_event_id: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RecoveredWorldState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `zone_player_counts` is never read
[INFO] [stderr]  --> server/src/world.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct WorldManager {
[INFO] [stderr]   |            ------------ field in this struct
[INFO] [stderr] 7 |     pub building: Building,
[INFO] [stderr] 8 |     pub zone_player_counts: HashMap<ZoneId, u32>,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_starting_zone`, `get_players_in_zone`, `update_zone_player_count`, and `can_player_access_zone` are never used
[INFO] [stderr]    --> server/src/world.rs:367:12
[INFO] [stderr]     |
[INFO] [stderr]  11 | impl WorldManager {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 367 |     pub fn get_starting_zone(&self, player_id: u64) -> (String, i32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     pub fn get_players_in_zone(&self, zone_id: &str) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 387 |     pub fn update_zone_player_count(&mut self, zone_id: String, count: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 392 |     pub fn can_player_access_zone(&self, player_id: u64, zone_id: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `remove` is never used
[INFO] [stderr]   --> client/src/components/mod.rs:53:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl ComponentStorage {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn remove<T: Component + 'static>(&mut self) -> Option<Box<dyn ComponentClone>> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_depth` is never used
[INFO] [stderr]   --> client/src/components/core.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Transform {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn with_depth(mut self, depth: f32) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `trigger` is never used
[INFO] [stderr]   --> client/src/components/core.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | impl Collider {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 80 |     pub fn trigger(width: f32, height: f32) -> Self {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `center` is never used
[INFO] [stderr]    --> client/src/components/core.rs:127:12
[INFO] [stderr]     |
[INFO] [stderr] 117 | impl CollisionBounds {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn center(&self) -> (f32, f32) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_offset`, `with_origin`, and `with_top_left_origin` are never used
[INFO] [stderr]    --> client/src/components/core.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr] 149 | impl Sprite {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn with_offset(mut self, x: f32, y: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn with_origin(mut self, origin_x: f32, origin_y: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub fn with_top_left_origin(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `InteractionType` is never used
[INFO] [stderr]    --> client/src/components/core.rs:284:10
[INFO] [stderr]     |
[INFO] [stderr] 284 | pub enum InteractionType {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Interactable` is never constructed
[INFO] [stderr]    --> client/src/components/core.rs:301:12
[INFO] [stderr]     |
[INFO] [stderr] 301 | pub struct Interactable {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `door` and `locked_door` are never used
[INFO] [stderr]    --> client/src/components/core.rs:309:12
[INFO] [stderr]     |
[INFO] [stderr] 308 | impl Interactable {
[INFO] [stderr]     | ----------------- associated functions in this implementation
[INFO] [stderr] 309 |     pub fn door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 322 |     pub fn locked_door(target_zone: String, target_x: f32, target_y: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `custom` and `custom_with_origin` are never used
[INFO] [stderr]   --> client/src/entities/sprites.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr]  6 | impl SpriteFactory {
[INFO] [stderr]    | ------------------ associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn custom(texture_name: &str, width: f32, height: f32) -> Sprite {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn custom_with_origin(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FurnitureSprites` is never constructed
[INFO] [stderr]   --> client/src/entities/sprites.rs:67:16
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub struct FurnitureSprites;
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `dining_table`, `dining_chair`, `office_desk`, `office_chair`, `bookshelf`, and `couch` are never used
[INFO] [stderr]   --> client/src/entities/sprites.rs:70:16
[INFO] [stderr]    |
[INFO] [stderr] 69 |     impl FurnitureSprites {
[INFO] [stderr]    |     --------------------- associated functions in this implementation
[INFO] [stderr] 70 |         pub fn dining_table() -> Sprite {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |         pub fn dining_chair() -> Sprite {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |         pub fn office_desk() -> Sprite {
[INFO] [stderr]    |                ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 82 |         pub fn office_chair() -> Sprite {
[INFO] [stderr]    |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |         pub fn bookshelf() -> Sprite {
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |         pub fn couch() -> Sprite {
[INFO] [stderr]    |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StructureSprites` is never constructed
[INFO] [stderr]   --> client/src/entities/sprites.rs:96:16
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub struct StructureSprites;
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `interior_wall`, `exterior_wall`, `window`, `standard_door`, `apartment_door`, and `elevator_door` are never used
[INFO] [stderr]    --> client/src/entities/sprites.rs:99:16
[INFO] [stderr]     |
[INFO] [stderr]  98 |     impl StructureSprites {
[INFO] [stderr]     |     --------------------- associated functions in this implementation
[INFO] [stderr]  99 |         pub fn interior_wall() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |         pub fn exterior_wall() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |         pub fn window() -> Sprite {
[INFO] [stderr]     |                ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |         pub fn standard_door() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |         pub fn apartment_door() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |         pub fn elevator_door() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CharacterSprites` is never constructed
[INFO] [stderr]    --> client/src/entities/sprites.rs:125:16
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub struct CharacterSprites;
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `player`, `npc_resident`, `npc_maintenance`, and `npc_security` are never used
[INFO] [stderr]    --> client/src/entities/sprites.rs:128:16
[INFO] [stderr]     |
[INFO] [stderr] 127 |     impl CharacterSprites {
[INFO] [stderr]     |     --------------------- associated functions in this implementation
[INFO] [stderr] 128 |         pub fn player() -> Sprite {
[INFO] [stderr]     |                ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |         pub fn npc_resident() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |         pub fn npc_maintenance() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 140 |         pub fn npc_security() -> Sprite {
[INFO] [stderr]     |                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `screen_width` and `screen_height` are never read
[INFO] [stderr]   --> client/src/systems/render.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct RenderSystem {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 10 |     screen_width: i32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 11 |     screen_height: i32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `isometric_to_world` is never used
[INFO] [stderr]    --> client/src/systems/render.rs:499:8
[INFO] [stderr]     |
[INFO] [stderr] 499 | pub fn isometric_to_world(iso_x: f32, iso_y: f32) -> Vector2 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_entity`, `move_entity_to_zone`, `query_entities`, and `get_triggers_at` are never used
[INFO] [stderr]    --> client/src/world.rs:54:12
[INFO] [stderr]     |
[INFO] [stderr]  21 | impl GameWorld {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  54 |     pub fn remove_entity(&mut self, id: EntityId) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn move_entity_to_zone(&mut self, entity_id: EntityId, new_zone_id: &str, new_floor: i32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 202 |     pub fn query_entities<F>(&self, predicate: F) -> Vec<&Entity>
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 319 |     pub fn get_triggers_at(&self, x: f32, y: f32, width: f32, height: f32) -> Vec<EntityId> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `server` (bin "server" test) generated 13 warnings (run `cargo fix --bin "server" -p server --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `server` (bin "server") generated 13 warnings (13 duplicates)
[INFO] [stderr] warning: `client` (bin "client" test) generated 18 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/client-cd4bb04eebb2b5f8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/common-60e7f0504fa44ecd)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/server-4b49b3576dd2c463)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test validation::coordinates::tests::test_clamp_coordinates ... ok
[INFO] [stdout] test validation::coordinates::tests::test_valid_coordinates ... ok
[INFO] [stdout] test validation::coordinates::tests::test_invalid_coordinates ... ok
[INFO] [stdout] test validation::username::tests::test_invalid_usernames ... ok
[INFO] [stdout] test validation::username::tests::test_valid_usernames ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test auth::password::tests::test_password_hashing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/world_tests.rs (/opt/rustwide/target/debug/deps/world_tests-49ef7f4b7e5aaac7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_player_creation_with_apartments ... ok
[INFO] [stdout] test test_player_movement ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/test_client-bd4badccabe6da01)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests common
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "69ad0c3ef4db894852670497343097c4937fa232b1140aeda53a19028e62e611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69ad0c3ef4db894852670497343097c4937fa232b1140aeda53a19028e62e611", kill_on_drop: false }`
[INFO] [stdout] 69ad0c3ef4db894852670497343097c4937fa232b1140aeda53a19028e62e611
