[INFO] cloning repository https://github.com/alseif0x/rustycore
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alseif0x/rustycore" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falseif0x%2Frustycore", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falseif0x%2Frustycore'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 48f8d2a7c88dde928287ce46031a3eb18ec21bd2
[INFO] testing alseif0x/rustycore against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falseif0x%2Frustycore" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/alseif0x/rustycore
[INFO] finished tweaking git repo https://github.com/alseif0x/rustycore
[INFO] tweaked toml for git repo https://github.com/alseif0x/rustycore written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alseif0x/rustycore on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/alseif0x/rustycore 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.110
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.110
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.110
[INFO] [stderr]   Downloaded js-sys v0.3.87
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.110
[INFO] [stderr]   Downloaded hecs v0.10.5
[INFO] [stderr]   Downloaded inventory v0.3.22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 95a8eebb0708beeee5ee1fc08acf1ca6a998cb4e9bfad61a04d919bc8d5eb8c7
[INFO] running `Command { std: "docker" "start" "-a" "95a8eebb0708beeee5ee1fc08acf1ca6a998cb4e9bfad61a04d919bc8d5eb8c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "95a8eebb0708beeee5ee1fc08acf1ca6a998cb4e9bfad61a04d919bc8d5eb8c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95a8eebb0708beeee5ee1fc08acf1ca6a998cb4e9bfad61a04d919bc8d5eb8c7", kill_on_drop: false }`
[INFO] [stdout] 95a8eebb0708beeee5ee1fc08acf1ca6a998cb4e9bfad61a04d919bc8d5eb8c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 96311e91633250a54c1d967ca3784905193eca412d456905ec62a18729eeab24
[INFO] running `Command { std: "docker" "start" "-a" "96311e91633250a54c1d967ca3784905193eca412d456905ec62a18729eeab24", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling aws-lc-rs v1.16.0
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling hecs v0.10.5
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling inventory v0.3.22
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling glam v0.29.3
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling wow-collections v0.1.0 (/opt/rustwide/workdir/crates/wow-collections)
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling wow-ecs v0.1.0 (/opt/rustwide/workdir/crates/wow-ecs)
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling wow-config v0.1.0 (/opt/rustwide/workdir/crates/wow-config)
[INFO] [stderr]    Compiling wow-recastdetour v0.1.0 (/opt/rustwide/workdir/crates/wow-recastdetour)
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling wow-crypto v0.1.0 (/opt/rustwide/workdir/crates/wow-crypto)
[INFO] [stdout] warning: field `k` is never read
[INFO] [stdout]    --> crates/wow-crypto/src/bnet_srp6.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct BnetSrp6 {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     k: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling wow-math v0.1.0 (/opt/rustwide/workdir/crates/wow-math)
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling wow-core v0.1.0 (/opt/rustwide/workdir/crates/wow-core)
[INFO] [stderr]    Compiling wow-constants v0.1.0 (/opt/rustwide/workdir/crates/wow-constants)
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/wow-core/src/guid.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Some(unsafe { std::mem::transmute(val) })
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling wow-logging v0.1.0 (/opt/rustwide/workdir/crates/wow-logging)
[INFO] [stderr]    Compiling wow-entities v0.1.0 (/opt/rustwide/workdir/crates/wow-entities)
[INFO] [stderr]    Compiling wow-packet v0.1.0 (/opt/rustwide/workdir/crates/wow-packet)
[INFO] [stderr]    Compiling wow-loot v0.1.0 (/opt/rustwide/workdir/crates/wow-loot)
[INFO] [stderr]    Compiling wow-script v0.1.0 (/opt/rustwide/workdir/crates/wow-script)
[INFO] [stderr]    Compiling wow-social v0.1.0 (/opt/rustwide/workdir/crates/wow-social)
[INFO] [stderr]    Compiling wow-achievement v0.1.0 (/opt/rustwide/workdir/crates/wow-achievement)
[INFO] [stderr]    Compiling wow-chat v0.1.0 (/opt/rustwide/workdir/crates/wow-chat)
[INFO] [stderr]    Compiling wow-spell v0.1.0 (/opt/rustwide/workdir/crates/wow-spell)
[INFO] [stderr]    Compiling wow-scripts v0.1.0 (/opt/rustwide/workdir/crates/wow-scripts)
[INFO] [stderr]    Compiling wow-pvp v0.1.0 (/opt/rustwide/workdir/crates/wow-pvp)
[INFO] [stderr]    Compiling wow-combat v0.1.0 (/opt/rustwide/workdir/crates/wow-combat)
[INFO] [stdout] warning: unused macro definition: `impl_movement_client_packet`
[INFO] [stdout]    --> crates/wow-packet/src/packets/movement.rs:323:14
[INFO] [stdout]     |
[INFO] [stdout] 323 | macro_rules! impl_movement_client_packet {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stdout] warning: function `max_power_for_class` is never used
[INFO] [stdout]     --> crates/wow-packet/src/packets/update.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn max_power_for_class(class: u8, _level: u8) -> i32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sqlx-mysql v0.8.6
[INFO] [stderr]    Compiling wow-handler v0.1.0 (/opt/rustwide/workdir/crates/wow-handler)
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]    Compiling wow-map v0.1.0 (/opt/rustwide/workdir/crates/wow-map)
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling wow-proto v0.1.0 (/opt/rustwide/workdir/crates/wow-proto)
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling wow-database v0.1.0 (/opt/rustwide/workdir/crates/wow-database)
[INFO] [stderr]    Compiling wow-data v0.1.0 (/opt/rustwide/workdir/crates/wow-data)
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/wow-data/src/quest_xp.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, warn};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> crates/wow-data/src/wdc4.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |             offset += FIELD_STORAGE_INFO_SIZE;
[INFO] [stdout]     |             --------------------------------- `offset` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 193 |         offset = common_end;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `string_table_size` and `max_id` are never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Wdc4Header {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     string_table_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     max_id: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Wdc4Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val2` is never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct FieldStorageInfo {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     val2: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldStorageInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-instances v0.1.0 (/opt/rustwide/workdir/crates/wow-instances)
[INFO] [stderr]    Compiling wow-network v0.1.0 (/opt/rustwide/workdir/crates/wow-network)
[INFO] [stderr]    Compiling wow-ai v0.1.0 (/opt/rustwide/workdir/crates/wow-ai)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> crates/wow-ai/src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `position_dist` is never used
[INFO] [stdout]    --> crates/wow-ai/src/lib.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn position_dist(a: &Position, b: &Position) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling bnet-server v0.1.0 (/opt/rustwide/workdir/crates/bnet-server)
[INFO] [stderr]    Compiling wow-world v0.1.0 (/opt/rustwide/workdir/crates/wow-world)
[INFO] [stdout] warning: unused import: `crate::session::GossipOptionInfo`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3907:13
[INFO] [stdout]      |
[INFO] [stdout] 3907 |         use crate::session::GossipOptionInfo;
[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: `wow_packet::packets::gossip::ClientGossipOption`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3908:13
[INFO] [stdout]      |
[INFO] [stdout] 3908 |         use wow_packet::packets::gossip::ClientGossipOption;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/combat.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/inspect.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/quest.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/social.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrainerListRequest`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:33:81
[INFO] [stdout]    |
[INFO] [stdout] 33 |     LearnedSpells, TrainerBuyFailed, TrainerBuySpellRequest, TrainerListPacket, TrainerListRequest,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2403:13
[INFO] [stdout]      |
[INFO] [stdout] 2403 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2544:13
[INFO] [stdout]      |
[INFO] [stdout] 2544 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:3175:13
[INFO] [stdout]      |
[INFO] [stdout] 3175 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::packets::movement::MonsterMove`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4438:13
[INFO] [stdout]      |
[INFO] [stdout] 4438 |         use wow_packet::packets::movement::MonsterMove;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4680:21
[INFO] [stdout]      |
[INFO] [stdout] 4680 |                 use wow_packet::ServerPacket;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:5049:13
[INFO] [stdout]      |
[INFO] [stdout] 5049 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon`, `allowed_security_level`, `region`, and `battlegroup` are never read
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Realm {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub icon: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub allowed_security_level: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub region: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 31 |     pub battlegroup: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Realm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hotfix_version`, `win64_auth_seed`, and `mac64_auth_seed` are never read
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RealmBuildInfo {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub hotfix_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub build: u32,
[INFO] [stdout] 42 |     pub win64_auth_seed: Option<Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub mac64_auth_seed: Option<Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RealmBuildInfo` 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: method `find_realm_by_address` is never used
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl RealmManager {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn find_realm_by_address(&self, address: &str, port: u16) -> Option<&Realm> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormInputs` is never constructed
[INFO] [stdout]  --> crates/bnet-server/src/rest/types.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FormInputs {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `local_address`, `wrong_pass_max`, `wrong_pass_ban_time`, and `wrong_pass_ban_type` are never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub local_address: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub wrong_pass_max: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// Ban duration in seconds after max failed attempts.
[INFO] [stdout] 28 |     pub wrong_pass_ban_time: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// Ban type: 0 = IP, 1 = account.
[INFO] [stdout] 30 |     pub wrong_pass_ban_type: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AccountInfo {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 78 |     pub id: u32,
[INFO] [stdout] 79 |     pub login: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 80 |     pub is_locked_to_ip: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub lock_country: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub last_ip: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 83 |     pub failed_logins: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub is_banned: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 85 |     pub is_permanently_banned: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` 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: field `security_level` is never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct GameAccountInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub security_level: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameAccountInfo` 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: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4437:13
[INFO] [stdout]      |
[INFO] [stdout] 4437 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data0`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3293:21
[INFO] [stdout]      |
[INFO] [stdout] 3293 |                 let data0: u32 = go_result.try_read(16).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data0`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data1`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3294:21
[INFO] [stdout]      |
[INFO] [stdout] 3294 |                 let data1: u32 = go_result.try_read(17).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_guid`
[INFO] [stdout]    --> crates/wow-world/src/handlers/group.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let target_guid = match pkt.read_packed_guid() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_guid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2604:59
[INFO] [stdout]      |
[INFO] [stdout] 2604 |                     q.objectives.iter().enumerate().all(|(i, obj)| {
[INFO] [stdout]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2561:22
[INFO] [stdout]      |
[INFO] [stdout] 2561 |                 for (i, obj) in quest.objectives.iter().enumerate() {
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4441:13
[INFO] [stdout]      |
[INFO] [stdout] 4441 |         let mut to_send: Vec<Vec<u8>> = Vec::new();
[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: method `send_quest_giver_status` is never used
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:6453:8
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6453 |     fn send_quest_giver_status(&self, guid: ObjectGuid, status: u32) {
[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 `check_creature_aggro` is never used
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4952:25
[INFO] [stdout]      |
[INFO] [stdout] 4433 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4952 |     pub(crate) async fn check_creature_aggro(&mut self) {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling world-server v0.1.0 (/opt/rustwide/workdir/crates/world-server)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/world-server/src/main.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let mut stmt = world_db.prepare(WorldStatements::SEL_PLAYER_XP_FOR_LEVEL);
[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: function `hex_to_bytes` is never used
[INFO] [stdout]     --> crates/world-server/src/main.rs:1544:4
[INFO] [stdout]      |
[INFO] [stdout] 1544 | fn hex_to_bytes(hex: &str) -> Vec<u8> {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s
[INFO] running `Command { std: "docker" "inspect" "96311e91633250a54c1d967ca3784905193eca412d456905ec62a18729eeab24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96311e91633250a54c1d967ca3784905193eca412d456905ec62a18729eeab24", kill_on_drop: false }`
[INFO] [stdout] 96311e91633250a54c1d967ca3784905193eca412d456905ec62a18729eeab24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f9eef7963476bc399c66c1319def2b497556f074c3e1a554c4e7e1ed93b422a0
[INFO] running `Command { std: "docker" "start" "-a" "f9eef7963476bc399c66c1319def2b497556f074c3e1a554c4e7e1ed93b422a0", kill_on_drop: false }`
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/wow-core/src/guid.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Some(unsafe { std::mem::transmute(val) })
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_movement_client_packet`
[INFO] [stdout]    --> crates/wow-packet/src/packets/movement.rs:323:14
[INFO] [stdout]     |
[INFO] [stdout] 323 | macro_rules! impl_movement_client_packet {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_power_for_class` is never used
[INFO] [stdout]     --> crates/wow-packet/src/packets/update.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn max_power_for_class(class: u8, _level: u8) -> i32 {
[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 `k` is never read
[INFO] [stdout]    --> crates/wow-crypto/src/bnet_srp6.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct BnetSrp6 {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     k: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/wow-data/src/quest_xp.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, warn};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> crates/wow-data/src/wdc4.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |             offset += FIELD_STORAGE_INFO_SIZE;
[INFO] [stdout]     |             --------------------------------- `offset` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 193 |         offset = common_end;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `string_table_size` and `max_id` are never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Wdc4Header {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     string_table_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     max_id: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Wdc4Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val2` is never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct FieldStorageInfo {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     val2: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldStorageInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-instances v0.1.0 (/opt/rustwide/workdir/crates/wow-instances)
[INFO] [stderr]    Compiling wow-proto v0.1.0 (/opt/rustwide/workdir/crates/wow-proto)
[INFO] [stderr]    Compiling wow-ai v0.1.0 (/opt/rustwide/workdir/crates/wow-ai)
[INFO] [stderr]    Compiling wow-network v0.1.0 (/opt/rustwide/workdir/crates/wow-network)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> crates/wow-ai/src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `position_dist` is never used
[INFO] [stdout]    --> crates/wow-ai/src/lib.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn position_dist(a: &Position, b: &Position) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::session::GossipOptionInfo`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3907:13
[INFO] [stdout]      |
[INFO] [stdout] 3907 |         use crate::session::GossipOptionInfo;
[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: `wow_packet::packets::gossip::ClientGossipOption`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3908:13
[INFO] [stdout]      |
[INFO] [stdout] 3908 |         use wow_packet::packets::gossip::ClientGossipOption;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/combat.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/inspect.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/quest.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/social.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrainerListRequest`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:33:81
[INFO] [stdout]    |
[INFO] [stdout] 33 |     LearnedSpells, TrainerBuyFailed, TrainerBuySpellRequest, TrainerListPacket, TrainerListRequest,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2403:13
[INFO] [stdout]      |
[INFO] [stdout] 2403 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2544:13
[INFO] [stdout]      |
[INFO] [stdout] 2544 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:3175:13
[INFO] [stdout]      |
[INFO] [stdout] 3175 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::packets::movement::MonsterMove`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4438:13
[INFO] [stdout]      |
[INFO] [stdout] 4438 |         use wow_packet::packets::movement::MonsterMove;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4680:21
[INFO] [stdout]      |
[INFO] [stdout] 4680 |                 use wow_packet::ServerPacket;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:5049:13
[INFO] [stdout]      |
[INFO] [stdout] 5049 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4437:13
[INFO] [stdout]      |
[INFO] [stdout] 4437 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data0`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3293:21
[INFO] [stdout]      |
[INFO] [stdout] 3293 |                 let data0: u32 = go_result.try_read(16).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data0`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data1`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3294:21
[INFO] [stdout]      |
[INFO] [stdout] 3294 |                 let data1: u32 = go_result.try_read(17).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_guid`
[INFO] [stdout]    --> crates/wow-world/src/handlers/group.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let target_guid = match pkt.read_packed_guid() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_guid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2604:59
[INFO] [stdout]      |
[INFO] [stdout] 2604 |                     q.objectives.iter().enumerate().all(|(i, obj)| {
[INFO] [stdout]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2561:22
[INFO] [stdout]      |
[INFO] [stdout] 2561 |                 for (i, obj) in quest.objectives.iter().enumerate() {
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4441:13
[INFO] [stdout]      |
[INFO] [stdout] 4441 |         let mut to_send: Vec<Vec<u8>> = Vec::new();
[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: method `send_quest_giver_status` is never used
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:6453:8
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6453 |     fn send_quest_giver_status(&self, guid: ObjectGuid, status: u32) {
[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 `check_creature_aggro` is never used
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4952:25
[INFO] [stdout]      |
[INFO] [stdout] 4433 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4952 |     pub(crate) async fn check_creature_aggro(&mut self) {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-world v0.1.0 (/opt/rustwide/workdir/crates/wow-world)
[INFO] [stderr]    Compiling wow-data v0.1.0 (/opt/rustwide/workdir/crates/wow-data)
[INFO] [stderr]    Compiling wow-map v0.1.0 (/opt/rustwide/workdir/crates/wow-map)
[INFO] [stderr]    Compiling world-server v0.1.0 (/opt/rustwide/workdir/crates/world-server)
[INFO] [stderr]    Compiling wow-crypto v0.1.0 (/opt/rustwide/workdir/crates/wow-crypto)
[INFO] [stderr]    Compiling wow-database v0.1.0 (/opt/rustwide/workdir/crates/wow-database)
[INFO] [stderr]    Compiling wow-scripts v0.1.0 (/opt/rustwide/workdir/crates/wow-scripts)
[INFO] [stderr]    Compiling bnet-server v0.1.0 (/opt/rustwide/workdir/crates/bnet-server)
[INFO] [stderr]    Compiling wow-handler v0.1.0 (/opt/rustwide/workdir/crates/wow-handler)
[INFO] [stderr]    Compiling wow-math v0.1.0 (/opt/rustwide/workdir/crates/wow-math)
[INFO] [stderr]    Compiling wow-packet v0.1.0 (/opt/rustwide/workdir/crates/wow-packet)
[INFO] [stderr]    Compiling wow-combat v0.1.0 (/opt/rustwide/workdir/crates/wow-combat)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> crates/wow-ai/src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `position_dist` is never used
[INFO] [stdout]    --> crates/wow-ai/src/lib.rs:384:4
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn position_dist(a: &Position, b: &Position) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-spell v0.1.0 (/opt/rustwide/workdir/crates/wow-spell)
[INFO] [stderr]    Compiling wow-script v0.1.0 (/opt/rustwide/workdir/crates/wow-script)
[INFO] [stderr]    Compiling wow-ecs v0.1.0 (/opt/rustwide/workdir/crates/wow-ecs)
[INFO] [stderr]    Compiling wow-logging v0.1.0 (/opt/rustwide/workdir/crates/wow-logging)
[INFO] [stdout] warning: field `k` is never read
[INFO] [stdout]    --> crates/wow-crypto/src/bnet_srp6.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct BnetSrp6 {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     k: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-loot v0.1.0 (/opt/rustwide/workdir/crates/wow-loot)
[INFO] [stdout] warning: unused macro definition: `impl_movement_client_packet`
[INFO] [stdout]    --> crates/wow-packet/src/packets/movement.rs:323:14
[INFO] [stdout]     |
[INFO] [stdout] 323 | macro_rules! impl_movement_client_packet {
[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 import: `warn`
[INFO] [stdout]   --> crates/wow-data/src/quest_xp.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, warn};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-entities v0.1.0 (/opt/rustwide/workdir/crates/wow-entities)
[INFO] [stderr]    Compiling wow-social v0.1.0 (/opt/rustwide/workdir/crates/wow-social)
[INFO] [stderr]    Compiling wow-achievement v0.1.0 (/opt/rustwide/workdir/crates/wow-achievement)
[INFO] [stderr]    Compiling wow-chat v0.1.0 (/opt/rustwide/workdir/crates/wow-chat)
[INFO] [stderr]    Compiling wow-pvp v0.1.0 (/opt/rustwide/workdir/crates/wow-pvp)
[INFO] [stderr]    Compiling wow-config v0.1.0 (/opt/rustwide/workdir/crates/wow-config)
[INFO] [stderr]    Compiling wow-constants v0.1.0 (/opt/rustwide/workdir/crates/wow-constants)
[INFO] [stdout] warning: unused import: `crate::session::GossipOptionInfo`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3907:13
[INFO] [stdout]      |
[INFO] [stdout] 3907 |         use crate::session::GossipOptionInfo;
[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: `wow_packet::packets::gossip::ClientGossipOption`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3908:13
[INFO] [stdout]      |
[INFO] [stdout] 3908 |         use wow_packet::packets::gossip::ClientGossipOption;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/combat.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/inspect.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/quest.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-core v0.1.0 (/opt/rustwide/workdir/crates/wow-core)
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/social.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use wow_packet::ServerPacket;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrainerListRequest`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:33:81
[INFO] [stdout]    |
[INFO] [stdout] 33 |     LearnedSpells, TrainerBuyFailed, TrainerBuySpellRequest, TrainerListPacket, TrainerListRequest,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServerPacket`
[INFO] [stdout]   --> crates/wow-world/src/handlers/trainer.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2403:13
[INFO] [stdout]      |
[INFO] [stdout] 2403 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2544:13
[INFO] [stdout]      |
[INFO] [stdout] 2544 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:3175:13
[INFO] [stdout]      |
[INFO] [stdout] 3175 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-recastdetour v0.1.0 (/opt/rustwide/workdir/crates/wow-recastdetour)
[INFO] [stdout] warning: unused import: `wow_packet::packets::movement::MonsterMove`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4438:13
[INFO] [stdout]      |
[INFO] [stdout] 4438 |         use wow_packet::packets::movement::MonsterMove;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4680:21
[INFO] [stdout]      |
[INFO] [stdout] 4680 |                 use wow_packet::ServerPacket;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:5049:13
[INFO] [stdout]      |
[INFO] [stdout] 5049 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]   --> crates/wow-core/src/guid.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Some(unsafe { std::mem::transmute(val) })
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_len`
[INFO] [stdout]    --> crates/wow-packet/src/compression.rs:390:38
[INFO] [stdout]     |
[INFO] [stdout] 390 |         for (i, (compressed, opcode, payload_len)) in [
[INFO] [stdout]     |                                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_len`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_in`
[INFO] [stdout]    --> crates/wow-packet/src/compression.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |             let base_in = decompressor.total_in() as usize;
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> crates/wow-packet/src/compression.rs:407:17
[INFO] [stdout]     |
[INFO] [stdout] 407 |             let status = decompressor
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wow-collections v0.1.0 (/opt/rustwide/workdir/crates/wow-collections)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/world-server/src/main.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let mut stmt = world_db.prepare(WorldStatements::SEL_PLAYER_XP_FOR_LEVEL);
[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: value assigned to `offset` is never read
[INFO] [stdout]    --> crates/wow-data/src/wdc4.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |             offset += FIELD_STORAGE_INFO_SIZE;
[INFO] [stdout]     |             --------------------------------- `offset` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 193 |         offset = common_end;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `string_table_size` and `max_id` are never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct Wdc4Header {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     string_table_size: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     max_id: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Wdc4Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val2` is never read
[INFO] [stdout]   --> crates/wow-data/src/wdc4.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct FieldStorageInfo {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     val2: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldStorageInfo` 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: function `max_power_for_class` is never used
[INFO] [stdout]     --> crates/wow-packet/src/packets/update.rs:1074:4
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn max_power_for_class(class: u8, _level: u8) -> i32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_bytes` is never used
[INFO] [stdout]     --> crates/world-server/src/main.rs:1544:4
[INFO] [stdout]      |
[INFO] [stdout] 1544 | fn hex_to_bytes(hex: &str) -> Vec<u8> {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon`, `allowed_security_level`, `region`, and `battlegroup` are never read
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Realm {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub icon: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub allowed_security_level: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub region: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 31 |     pub battlegroup: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Realm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hotfix_version`, `win64_auth_seed`, and `mac64_auth_seed` are never read
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RealmBuildInfo {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub hotfix_version: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub build: u32,
[INFO] [stdout] 42 |     pub win64_auth_seed: Option<Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub mac64_auth_seed: Option<Vec<u8>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RealmBuildInfo` 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: method `find_realm_by_address` is never used
[INFO] [stdout]   --> crates/bnet-server/src/realm/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl RealmManager {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn find_realm_by_address(&self, address: &str, port: u16) -> Option<&Realm> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FormInputs` is never constructed
[INFO] [stdout]  --> crates/bnet-server/src/rest/types.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FormInputs {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `local_address`, `wrong_pass_max`, `wrong_pass_ban_time`, and `wrong_pass_ban_type` are never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub local_address: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub wrong_pass_max: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     /// Ban duration in seconds after max failed attempts.
[INFO] [stdout] 28 |     pub wrong_pass_ban_time: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     /// Ban type: 0 = IP, 1 = account.
[INFO] [stdout] 30 |     pub wrong_pass_ban_type: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AccountInfo {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 78 |     pub id: u32,
[INFO] [stdout] 79 |     pub login: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 80 |     pub is_locked_to_ip: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub lock_country: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub last_ip: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 83 |     pub failed_logins: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 84 |     pub is_banned: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 85 |     pub is_permanently_banned: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccountInfo` 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: field `security_level` is never read
[INFO] [stdout]   --> crates/bnet-server/src/state.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct GameAccountInfo {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub security_level: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameAccountInfo` 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: unused import: `wow_packet::ServerPacket`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4437:13
[INFO] [stdout]      |
[INFO] [stdout] 4437 |         use wow_packet::ServerPacket;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data0`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3293:21
[INFO] [stdout]      |
[INFO] [stdout] 3293 |                 let data0: u32 = go_result.try_read(16).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data0`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data1`
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:3294:21
[INFO] [stdout]      |
[INFO] [stdout] 3294 |                 let data1: u32 = go_result.try_read(17).unwrap_or(0);
[INFO] [stdout]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_guid`
[INFO] [stdout]    --> crates/wow-world/src/handlers/group.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let target_guid = match pkt.read_packed_guid() {
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_guid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2604:59
[INFO] [stdout]      |
[INFO] [stdout] 2604 |                     q.objectives.iter().enumerate().all(|(i, obj)| {
[INFO] [stdout]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> crates/wow-world/src/session.rs:2561:22
[INFO] [stdout]      |
[INFO] [stdout] 2561 |                 for (i, obj) in quest.objectives.iter().enumerate() {
[INFO] [stdout]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4441:13
[INFO] [stdout]      |
[INFO] [stdout] 4441 |         let mut to_send: Vec<Vec<u8>> = Vec::new();
[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: method `send_quest_giver_status` is never used
[INFO] [stdout]     --> crates/wow-world/src/handlers/character.rs:6453:8
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6453 |     fn send_quest_giver_status(&self, guid: ObjectGuid, status: u32) {
[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 `check_creature_aggro` is never used
[INFO] [stdout]     --> crates/wow-world/src/session.rs:4952:25
[INFO] [stdout]      |
[INFO] [stdout] 4433 | impl WorldSession {
[INFO] [stdout]      | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 4952 |     pub(crate) async fn check_creature_aggro(&mut self) {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.99s
[INFO] running `Command { std: "docker" "inspect" "f9eef7963476bc399c66c1319def2b497556f074c3e1a554c4e7e1ed93b422a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9eef7963476bc399c66c1319def2b497556f074c3e1a554c4e7e1ed93b422a0", kill_on_drop: false }`
[INFO] [stdout] f9eef7963476bc399c66c1319def2b497556f074c3e1a554c4e7e1ed93b422a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 967f538cacd6499014fd64bc1f78a7b41dcc6195cb64dc0ccaeb0702f3755c44
[INFO] running `Command { std: "docker" "start" "-a" "967f538cacd6499014fd64bc1f78a7b41dcc6195cb64dc0ccaeb0702f3755c44", kill_on_drop: false }`
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]   --> crates/wow-core/src/guid.rs:70:18
[INFO] [stderr]    |
[INFO] [stderr] 70 |             Some(unsafe { std::mem::transmute(val) })
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: requested on the command line with `-W unsafe-code`
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-core` (lib) generated 1 warning
[INFO] [stderr] warning: unused macro definition: `impl_movement_client_packet`
[INFO] [stderr]    --> crates/wow-packet/src/packets/movement.rs:323:14
[INFO] [stderr]     |
[INFO] [stderr] 323 | macro_rules! impl_movement_client_packet {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `max_power_for_class` is never used
[INFO] [stderr]     --> crates/wow-packet/src/packets/update.rs:1074:4
[INFO] [stderr]      |
[INFO] [stderr] 1074 | fn max_power_for_class(class: u8, _level: u8) -> i32 {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-packet` (lib) generated 2 warnings
[INFO] [stderr] warning: field `k` is never read
[INFO] [stderr]    --> crates/wow-crypto/src/bnet_srp6.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr]  98 | pub struct BnetSrp6 {
[INFO] [stderr]     |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 103 |     k: BigUint,
[INFO] [stderr]     |     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-crypto` (lib) generated 1 warning
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> crates/wow-data/src/quest_xp.rs:14:21
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tracing::{info, warn};
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `offset` is never read
[INFO] [stderr]    --> crates/wow-data/src/wdc4.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 178 |             offset += FIELD_STORAGE_INFO_SIZE;
[INFO] [stderr]     |             --------------------------------- `offset` is overwritten here before the previous value is read
[INFO] [stderr] ...
[INFO] [stderr] 193 |         offset = common_end;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `string_table_size` and `max_id` are never read
[INFO] [stderr]   --> crates/wow-data/src/wdc4.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | struct Wdc4Header {
[INFO] [stderr]    |        ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     string_table_size: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     max_id: u32,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Wdc4Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `val2` is never read
[INFO] [stderr]   --> crates/wow-data/src/wdc4.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 90 | struct FieldStorageInfo {
[INFO] [stderr]    |        ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 99 |     val2: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FieldStorageInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-data` (lib) generated 4 warnings (run `cargo fix --lib -p wow-data` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> crates/wow-ai/src/lib.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `position_dist` is never used
[INFO] [stderr]    --> crates/wow-ai/src/lib.rs:384:4
[INFO] [stderr]     |
[INFO] [stderr] 384 | fn position_dist(a: &Position, b: &Position) -> f32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-ai` (lib) generated 2 warnings (run `cargo fix --lib -p wow-ai` to apply 1 suggestion)
[INFO] [stderr] warning: `wow-ai` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: unused import: `crate::session::GossipOptionInfo`
[INFO] [stderr]     --> crates/wow-world/src/handlers/character.rs:3907:13
[INFO] [stderr]      |
[INFO] [stderr] 3907 |         use crate::session::GossipOptionInfo;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::packets::gossip::ClientGossipOption`
[INFO] [stderr]     --> crates/wow-world/src/handlers/character.rs:3908:13
[INFO] [stderr]      |
[INFO] [stderr] 3908 |         use wow_packet::packets::gossip::ClientGossipOption;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ServerPacket`
[INFO] [stderr]   --> crates/wow-world/src/handlers/combat.rs:17:32
[INFO] [stderr]    |
[INFO] [stderr] 17 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]   --> crates/wow-world/src/handlers/inspect.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use wow_packet::ServerPacket;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]   --> crates/wow-world/src/handlers/quest.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use wow_packet::ServerPacket;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]   --> crates/wow-world/src/handlers/social.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use wow_packet::ServerPacket;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TrainerListRequest`
[INFO] [stderr]   --> crates/wow-world/src/handlers/trainer.rs:33:81
[INFO] [stderr]    |
[INFO] [stderr] 33 |     LearnedSpells, TrainerBuyFailed, TrainerBuySpellRequest, TrainerListPacket, TrainerListRequest,
[INFO] [stderr]    |                                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ServerPacket`
[INFO] [stderr]   --> crates/wow-world/src/handlers/trainer.rs:37:32
[INFO] [stderr]    |
[INFO] [stderr] 37 | use wow_packet::{ClientPacket, ServerPacket};
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:2403:13
[INFO] [stderr]      |
[INFO] [stderr] 2403 |         use wow_packet::ServerPacket;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:2544:13
[INFO] [stderr]      |
[INFO] [stderr] 2544 |         use wow_packet::ServerPacket;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:3175:13
[INFO] [stderr]      |
[INFO] [stderr] 3175 |         use wow_packet::ServerPacket;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::packets::movement::MonsterMove`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:4438:13
[INFO] [stderr]      |
[INFO] [stderr] 4438 |         use wow_packet::packets::movement::MonsterMove;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:4680:21
[INFO] [stderr]      |
[INFO] [stderr] 4680 |                 use wow_packet::ServerPacket;
[INFO] [stderr]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:5049:13
[INFO] [stderr]      |
[INFO] [stderr] 5049 |         use wow_packet::ServerPacket;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wow_packet::ServerPacket`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:4437:13
[INFO] [stderr]      |
[INFO] [stderr] 4437 |         use wow_packet::ServerPacket;
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data0`
[INFO] [stderr]     --> crates/wow-world/src/handlers/character.rs:3293:21
[INFO] [stderr]      |
[INFO] [stderr] 3293 |                 let data0: u32 = go_result.try_read(16).unwrap_or(0);
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data0`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data1`
[INFO] [stderr]     --> crates/wow-world/src/handlers/character.rs:3294:21
[INFO] [stderr]      |
[INFO] [stderr] 3294 |                 let data1: u32 = go_result.try_read(17).unwrap_or(0);
[INFO] [stderr]      |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_data1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target_guid`
[INFO] [stderr]    --> crates/wow-world/src/handlers/group.rs:205:13
[INFO] [stderr]     |
[INFO] [stderr] 205 |         let target_guid = match pkt.read_packed_guid() {
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_guid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:2604:59
[INFO] [stderr]      |
[INFO] [stderr] 2604 |                     q.objectives.iter().enumerate().all(|(i, obj)| {
[INFO] [stderr]      |                                                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> crates/wow-world/src/session.rs:2561:22
[INFO] [stderr]      |
[INFO] [stderr] 2561 |                 for (i, obj) in quest.objectives.iter().enumerate() {
[INFO] [stderr]      |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> crates/wow-world/src/session.rs:4441:13
[INFO] [stderr]      |
[INFO] [stderr] 4441 |         let mut to_send: Vec<Vec<u8>> = Vec::new();
[INFO] [stderr]      |             ----^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `send_quest_giver_status` is never used
[INFO] [stderr]     --> crates/wow-world/src/handlers/character.rs:6453:8
[INFO] [stderr]      |
[INFO] [stderr] 1202 | impl WorldSession {
[INFO] [stderr]      | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 6453 |     fn send_quest_giver_status(&self, guid: ObjectGuid, status: u32) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `check_creature_aggro` is never used
[INFO] [stderr]     --> crates/wow-world/src/session.rs:4952:25
[INFO] [stderr]      |
[INFO] [stderr] 4433 | impl WorldSession {
[INFO] [stderr]      | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 4952 |     pub(crate) async fn check_creature_aggro(&mut self) {
[INFO] [stderr]      |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `wow-world` (lib) generated 23 warnings (run `cargo fix --lib -p wow-world` to apply 20 suggestions)
[INFO] [stderr] warning: `wow-world` (lib test) generated 23 warnings (23 duplicates)
[INFO] [stderr] warning: `wow-data` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `wow-crypto` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/world-server/src/main.rs:653:13
[INFO] [stderr]     |
[INFO] [stderr] 653 |         let mut stmt = world_db.prepare(WorldStatements::SEL_PLAYER_XP_FOR_LEVEL);
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `hex_to_bytes` is never used
[INFO] [stderr]     --> crates/world-server/src/main.rs:1544:4
[INFO] [stderr]      |
[INFO] [stderr] 1544 | fn hex_to_bytes(hex: &str) -> Vec<u8> {
[INFO] [stderr]      |    ^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `payload_len`
[INFO] [stderr]    --> crates/wow-packet/src/compression.rs:390:38
[INFO] [stderr]     |
[INFO] [stderr] 390 |         for (i, (compressed, opcode, payload_len)) in [
[INFO] [stderr]     |                                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_len`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `base_in`
[INFO] [stderr]    --> crates/wow-packet/src/compression.rs:404:17
[INFO] [stderr]     |
[INFO] [stderr] 404 |             let base_in = decompressor.total_in() as usize;
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_in`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> crates/wow-packet/src/compression.rs:407:17
[INFO] [stderr]     |
[INFO] [stderr] 407 |             let status = decompressor
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stderr] 
[INFO] [stderr] warning: `world-server` (bin "world-server" test) generated 2 warnings (run `cargo fix --bin "world-server" -p world-server --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `wow-packet` (lib test) generated 5 warnings (2 duplicates) (run `cargo fix --lib -p wow-packet --tests` to apply 3 suggestions)
[INFO] [stderr] warning: fields `icon`, `allowed_security_level`, `region`, and `battlegroup` are never read
[INFO] [stderr]   --> crates/bnet-server/src/realm/mod.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct Realm {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub icon: u8,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub allowed_security_level: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub region: u8,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 31 |     pub battlegroup: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Realm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `hotfix_version`, `win64_auth_seed`, and `mac64_auth_seed` are never read
[INFO] [stderr]   --> crates/bnet-server/src/realm/mod.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct RealmBuildInfo {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub hotfix_version: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 41 |     pub build: u32,
[INFO] [stderr] 42 |     pub win64_auth_seed: Option<Vec<u8>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 43 |     pub mac64_auth_seed: Option<Vec<u8>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RealmBuildInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_realm_by_address` is never used
[INFO] [stderr]   --> crates/bnet-server/src/realm/mod.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 53 | impl RealmManager {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn find_realm_by_address(&self, address: &str, port: u16) -> Option<&Realm> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FormInputs` is never constructed
[INFO] [stderr]  --> crates/bnet-server/src/rest/types.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct FormInputs {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `local_address`, `wrong_pass_max`, `wrong_pass_ban_time`, and `wrong_pass_ban_type` are never read
[INFO] [stderr]   --> crates/bnet-server/src/state.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct AppState {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub local_address: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub wrong_pass_max: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 27 |     /// Ban duration in seconds after max failed attempts.
[INFO] [stderr] 28 |     pub wrong_pass_ban_time: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 29 |     /// Ban type: 0 = IP, 1 = account.
[INFO] [stderr] 30 |     pub wrong_pass_ban_type: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> crates/bnet-server/src/state.rs:79:9
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct AccountInfo {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 78 |     pub id: u32,
[INFO] [stderr] 79 |     pub login: String,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 80 |     pub is_locked_to_ip: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 81 |     pub lock_country: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 82 |     pub last_ip: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 83 |     pub failed_logins: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 84 |     pub is_banned: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 85 |     pub is_permanently_banned: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AccountInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `security_level` is never read
[INFO] [stderr]   --> crates/bnet-server/src/state.rs:98:9
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub struct GameAccountInfo {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 98 |     pub security_level: u8,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GameAccountInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `bnet-server` (bin "bnet-server" test) generated 7 warnings
[INFO] [stderr] warning: `wow-core` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bnet_server-32732f534d76016b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::bnet_config_resolution_prefers_lowercase_cpp_name ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/world_server-e036dab93aa1556e)
[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] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::enable_ae_loot_uses_cpp_world_config_key ... ok
[INFO] [stdout] test tests::world_config_resolution_prefers_lowercase_cpp_name ... ok
[INFO] [stdout] test tests::world_network_config_uses_resolved_world_configs ... ok
[INFO] [stdout] test tests::loot_drop_rates_use_cpp_world_config_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_achievement-a52bf471d37f7b3d)
[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/wow_ai-059aa29e591f7a9c)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::boss_creature_exposes_script_boss_id_like_cpp_boss_ai ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_chat-5553ebcfb9620261)
[INFO] [stdout] test tests::plain_creature_has_no_boss_ai_view_like_cpp_failed_dynamic_cast ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_collections-918c80c0bc442cc9)
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test tests::flagarray_capacity ... ok
[INFO] [stdout] test tests::flagarray_count_set ... ok
[INFO] [stdout] test tests::flagarray_clone ... ok
[INFO] [stdout] test tests::flagarray_reset_all ... ok
[INFO] [stdout] test tests::flagarray_boundary_bits ... ok
[INFO] [stdout] test tests::flagarray_any_and_none ... ok
[INFO] [stdout] test tests::flagarray_large ... ok
[INFO] [stdout] test tests::flagarray_set_and_test ... ok
[INFO] [stdout] test tests::flagarray_debug ... ok
[INFO] [stdout] test tests::flagarray_default ... ok
[INFO] [stdout] test tests::flagarray_new_all_cleared ... ok
[INFO] [stdout] test tests::flagarray_set_clear_idempotent ... ok
[INFO] [stdout] test tests::flagarray_single_bit ... ok
[INFO] [stdout] test tests::flagarray_zero_size ... ok
[INFO] [stdout] test tests::multimap_clear ... ok
[INFO] [stdout] test tests::multimap_clone ... ok
[INFO] [stdout] test tests::multimap_debug ... ok
[INFO] [stdout] test tests::multimap_contains_key ... ok
[INFO] [stdout] test tests::flagarray_clear_bit ... ok
[INFO] [stdout] test tests::multimap_default ... ok
[INFO] [stdout] test tests::multimap_iter ... ok
[INFO] [stdout] test tests::multimap_remove_nonexistent_key ... ok
[INFO] [stdout] test tests::multimap_get_mut ... ok
[INFO] [stdout] test tests::multimap_len_and_total_values ... ok
[INFO] [stdout] test tests::multimap_remove_value ... ok
[INFO] [stdout] test tests::multimap_keys ... ok
[INFO] [stdout] test tests::multimap_remove_key ... ok
[INFO] [stdout] test tests::multimap_custom_n ... ok
[INFO] [stdout] test tests::multimap_remove_value_last_removes_key ... ok
[INFO] [stdout] test tests::multimap_remove_value_nonexistent ... ok
[INFO] [stdout] test tests::multimap_with_capacity ... ok
[INFO] [stdout] test tests::multimap_insert_and_get ... ok
[INFO] [stdout] test tests::flagarray_clear_out_of_range - should panic ... ok
[INFO] [stdout] test tests::flagarray_set_out_of_range - should panic ... ok
[INFO] [stdout] test tests::flagarray_test_out_of_range - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_combat-a0d576a70b7ddfe2)
[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/wow_config-8cb43bee2fee5967)
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test tests::test_database_info_accepts_unix_socket_like_cpp ... ok
[INFO] [stdout] test tests::test_case_insensitive_lookup ... ok
[INFO] [stdout] test tests::test_empty_quoted_string ... ok
[INFO] [stdout] test tests::test_env_key_for_ini_key_matches_trinity_examples ... ok
[INFO] [stdout] test tests::test_file_not_found ... ok
[INFO] [stdout] test tests::test_full_line_comment_ignored ... ok
[INFO] [stdout] test tests::test_empty_lines_ignored ... ok
[INFO] [stdout] test tests::test_basic_key_value ... ok
[INFO] [stdout] test tests::test_database_info_semicolon_parser ... ok
[INFO] [stdout] test tests::test_env_override_provider_overrides_scalar_keys ... ok
[INFO] [stdout] test tests::test_get_database_info_ignores_legacy_split_subkeys ... ok
[INFO] [stdout] test tests::test_get_string_default_missing_key ... ok
[INFO] [stdout] test tests::test_get_database_info_uses_canonical_key_only ... ok
[INFO] [stdout] test tests::test_get_value_default_missing_key ... ok
[INFO] [stdout] test tests::test_global_load_and_get ... ok
[INFO] [stdout] test tests::test_inline_comment_stripped ... ok
[INFO] [stdout] test tests::test_inline_comment_with_quoted_value ... ok
[INFO] [stdout] test tests::test_parse_error_empty_key ... ok
[INFO] [stdout] test tests::test_parse_error_no_equals ... ok
[INFO] [stdout] test tests::test_parse_float ... ok
[INFO] [stdout] test tests::test_parse_integer ... ok
[INFO] [stdout] test tests::test_reload_replaces_values ... ok
[INFO] [stdout] test tests::test_value_containing_equals ... ok
[INFO] [stdout] test tests::test_multiple_keys ... ok
[INFO] [stdout] test tests::test_load_config_with_fallbacks_uses_lowercase_before_legacy_name ... ok
[INFO] [stdout] test tests::test_quoted_string_value ... ok
[INFO] [stdout] test tests::test_quoted_string_with_spaces ... ok
[INFO] [stdout] test tests::test_quoted_value_with_hash ... ok
[INFO] [stdout] test tests::test_load_config_with_fallbacks_loads_dir_overlays ... ok
[INFO] [stdout] test tests::test_world_config_registry_covers_cpp_inventory ... ok
[INFO] [stdout] test tests::test_world_config_registry_tracks_rows_without_literal_cpp_load ... ok
[INFO] [stdout] test tests::test_load_world_config_values_applies_cpp_validations ... ok
[INFO] [stdout] test tests::test_load_world_config_values_uses_config_and_defaults ... ok
[INFO] [stdout] test tests::test_world_config_registry_resolves_cpp_symbolic_defaults ... ok
[INFO] [stdout] test tests::test_load_world_config_values_handles_cpp_signed_int_edges ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_constants-639609f5e2a8e26b)
[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/wow_core-a5e3fcbff6c86be6)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test guid::tests::test_create_guild ... ok
[INFO] [stdout] test guid::tests::test_create_creature ... ok
[INFO] [stdout] test guid::tests::test_create_player ... ok
[INFO] [stdout] test guid::tests::test_create_item ... ok
[INFO] [stdout] test guid::tests::test_create_global ... ok
[INFO] [stdout] test guid::tests::test_create_transport ... ok
[INFO] [stdout] test guid::tests::test_empty_guid ... ok
[INFO] [stdout] test guid::tests::test_create_uniq ... ok
[INFO] [stdout] test guid::tests::test_guid_generator ... ok
[INFO] [stdout] test guid::tests::test_guid_ordering ... ok
[INFO] [stdout] test guid::tests::test_is_global ... ok
[INFO] [stdout] test guid::tests::test_map_specific ... ok
[INFO] [stdout] test guid::tests::test_realm_specific ... ok
[INFO] [stdout] test guid::tests::test_typed_guid_creature ... ok
[INFO] [stdout] test guid::tests::test_typed_guid_player ... ok
[INFO] [stdout] test guid::tests::test_raw_bytes_roundtrip ... ok
[INFO] [stdout] test position::tests::test_angle_to ... ok
[INFO] [stdout] test position::tests::test_distance ... ok
[INFO] [stdout] test position::tests::test_distance_2d ... ok
[INFO] [stdout] test position::tests::test_is_within_dist ... ok
[INFO] [stdout] test position::tests::test_distance_sq ... ok
[INFO] [stdout] test position::tests::test_zero_position ... ok
[INFO] [stdout] test time::tests::test_diff ... ok
[INFO] [stdout] test time::tests::test_game_time_add ... ok
[INFO] [stdout] test time::tests::test_game_time_has_passed ... ok
[INFO] [stdout] test time::tests::test_game_time_now ... ok
[INFO] [stdout] test position::tests::test_point_at_distance ... ok
[INFO] [stdout] test time::tests::test_server_time_elapsed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_crypto-8fbb406123e601c8)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test rsa_sign::tests::der_integer_encoding ... ok
[INFO] [stdout] test ed25519ctx::tests::sign_produces_64_bytes ... ok
[INFO] [stdout] test ed25519ctx::tests::sign_differs_with_different_context ... ok
[INFO] [stdout] test bnet_srp6::tests::parse_modulus_v1_is_128_bytes ... ok
[INFO] [stdout] test bnet_srp6::tests::parse_modulus_v2_is_256_bytes ... ok
[INFO] [stdout] test bnet_srp6::tests::compute_k_v1_sha256_is_nonzero ... ok
[INFO] [stdout] test ed25519ctx::tests::sign_differs_from_standard_ed25519 ... ok
[INFO] [stdout] test bnet_srp6::tests::srp_username_is_sha256_of_uppercased_email ... ok
[INFO] [stdout] test bnet_srp6::tests::broken_evidence_vector_adds_padding ... ok
[INFO] [stdout] test hmac_utils::tests::hmac_sha256_known_vector ... ok
[INFO] [stdout] test hmac_utils::tests::hmac_sha1_known_vector ... ok
[INFO] [stdout] test session_key::tests::sha1_incremental_matches_bulk ... ok
[INFO] [stdout] test sarc4::tests::known_rc4_vector ... ok
[INFO] [stdout] test session_key::tests::sha256_spans_multiple_blocks ... ok
[INFO] [stdout] test rsa_sign::tests::rsa_key_loads_successfully ... ok
[INFO] [stdout] test sarc4::tests::drop_prefix_changes_stream ... ok
[INFO] [stdout] test session_key::tests::sha1_deterministic ... ok
[INFO] [stdout] test rsa_sign::tests::pkcs1_der_is_valid ... ok
[INFO] [stdout] test session_key::tests::sha1_spans_multiple_blocks ... ok
[INFO] [stdout] test sarc4::tests::roundtrip ... ok
[INFO] [stdout] test bnet_srp6::tests::compute_k_v2_sha512_no_padding ... ok
[INFO] [stdout] test session_key::tests::sha256_deterministic ... ok
[INFO] [stdout] test srp6::tests::scrambler_u_is_nonzero_for_typical_values ... ok
[INFO] [stdout] test srp6::tests::constants_are_correct ... ok
[INFO] [stdout] test world_crypt::tests::counter_offset_works ... ok
[INFO] [stdout] test world_crypt::tests::encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test world_crypt::tests::multiple_packets_roundtrip ... ok
[INFO] [stdout] test srp6::tests::verifier_differs_for_different_passwords ... ok
[INFO] [stdout] test world_crypt::tests::nonce_suffix_spells_srvr_and_clnt ... ok
[INFO] [stdout] test world_crypt::tests::server_encrypt_roundtrip ... ok
[INFO] [stdout] test srp6::tests::verifier_is_deterministic ... ok
[INFO] [stdout] test world_crypt::tests::tag_size_is_twelve ... ok
[INFO] [stdout] test world_crypt::tests::counter_increments ... ok
[INFO] [stdout] test srp6::tests::verifier_differs_for_different_salts ... ok
[INFO] [stdout] test srp6::tests::verifier_case_insensitive ... ok
[INFO] [stdout] test srp6::tests::server_ephemeral_is_nonzero ... ok
[INFO] [stdout] test srp6::tests::session_key_is_40_bytes ... ok
[INFO] [stdout] test srp6::tests::full_srp6_self_test ... ok
[INFO] [stdout] test world_crypt::tests::nonce_construction ... ok
[INFO] [stdout] test ed25519ctx::tests::sign_is_deterministic ... ok
[INFO] [stdout] test bnet_srp6::tests::challenge_returns_valid_data ... ok
[INFO] [stdout] test bnet_srp6::tests::check_credentials_v1_roundtrip ... ok
[INFO] [stdout] test rsa_sign::tests::signature_is_256_bytes ... ok
[INFO] [stdout] test rsa_sign::tests::different_inputs_produce_different_signatures ... ok
[INFO] [stdout] test rsa_sign::tests::signature_is_deterministic ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_data-dc24a9dac389788b)
[INFO] [stdout] test bnet_srp6::tests::check_credentials_v2_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test chr_specialization::tests::chr_specialization_store_indexes_by_id_like_cpp_store ... ok
[INFO] [stdout] test currency::tests::currency_type_helpers_match_cpp_flags ... ok
[INFO] [stdout] test dungeon_encounter::tests::dungeon_encounter_store_indexes_by_id_like_cpp_store ... ok
[INFO] [stdout] test hotfix_cache::tests::insert_blob_indexes_by_table_hash_and_record_id ... ok
[INFO] [stdout] test hotfix_cache::tests::hotfix_record_status_matches_cpp_values ... ok
[INFO] [stdout] test hotfix_cache::tests::locale_masks_match_dbc_locale_order ... ok
[INFO] [stdout] test item::tests::inventory_type_does_not_wrap_non_equippable_values ... ok
[INFO] [stdout] test item_appearance::tests::item_display_info_id_rejects_negative_values ... ok
[INFO] [stdout] test item_class::tests::item_class_store_indexes_by_id_and_old_enum_like_cpp_manager ... ok
[INFO] [stdout] test item_currency_cost::tests::item_currency_cost_store_indexes_entries_and_items_like_cpp_manager ... ok
[INFO] [stdout] test item_appearance::tests::load_item_appearance_store ... ok
[INFO] [stdout] test item_disenchant_loot::tests::item_disenchant_loot_matcher_preserves_cpp_filters ... ok
[INFO] [stdout] test dungeon_encounter::tests::load_dungeon_encounter_db2_when_fixture_exists ... ok
[INFO] [stdout] test currency::tests::load_currency_types_store ... ok
[INFO] [stdout] test item_disenchant_loot::tests::item_disenchant_loot_store_indexes_by_id_and_keeps_iteration_order ... ok
[INFO] [stdout] test item_extended_cost::tests::item_extended_cost_helpers_match_cpp_fields ... ok
[INFO] [stdout] test item_extended_cost::tests::load_item_extended_cost_store ... ok
[INFO] [stdout] test item_modified_appearance::tests::get_for_item_matches_cpp_fallback_key ... ok
[INFO] [stdout] test item_modified_appearance::tests::load_item_modified_appearance_store ... ok
[INFO] [stdout] test item_price_base::tests::item_price_base_store_indexes_by_item_level_like_cpp_lookup ... ok
[INFO] [stdout] test item_random_suffix::tests::load_item_random_suffix_store ... ok
[INFO] [stdout] test item_random_enchantment::tests::validated_loader_filters_rows_like_cpp_load_random_enchantments_table ... ok
[INFO] [stdout] test item_stats::tests::item_sparse_flags_are_exposed_like_cpp_extended_data ... ok
[INFO] [stdout] test item_stats::tests::item_sparse_template_entry_matches_cpp_template_helpers ... ok
[INFO] [stdout] test item_stats::tests::test_base_stat_bonuses ... ok
[INFO] [stdout] test item_stats::tests::test_load_item_stats_store ... ok
[INFO] [stdout] test lock::tests::lock_store_indexes_by_id_like_cpp_slockstore ... ok
[INFO] [stdout] test item_stats::tests::test_attack_power_bonus ... ok
[INFO] [stdout] test item::tests::test_load_item_store ... ok
[INFO] [stdout] test player_power::tests::db2_player_power_index_resolver_returns_record_backed_indices ... ok
[INFO] [stdout] test player_stats::tests::base_armor_from_agility ... ok
[INFO] [stdout] test player_power::tests::db2_player_power_index_resolver_feeds_player_and_entity_ignores_out_of_range_indices ... ok
[INFO] [stdout] test player_stats::tests::max_health_high_stamina ... ok
[INFO] [stdout] test player_stats::tests::max_health_low_stamina ... ok
[INFO] [stdout] test player_stats::tests::max_mana_high_intellect ... ok
[INFO] [stdout] test player_stats::tests::max_mana_low_intellect ... ok
[INFO] [stdout] test rand_prop_points::tests::rand_prop_points_store_indexes_by_item_level_like_cpp ... ok
[INFO] [stdout] test skill::tests::test_different_classes_different_spells ... ok
[INFO] [stdout] test skill::tests::test_field_mapping_verified ... ok
[INFO] [stdout] test skill::tests::test_load_skill_store ... ok
[INFO] [stdout] test skill::tests::test_matches_class ... ok
[INFO] [stdout] test skill::tests::test_matches_race ... ok
[INFO] [stdout] test skill::tests::test_no_duplicate_spells ... ok
[INFO] [stdout] test skill::tests::test_priest_starting_spells ... ok
[INFO] [stdout] test skill::tests::test_warrior_starting_spells ... ok
[INFO] [stdout] test spell::tests::test_spell_info_effective_cooldown ... ok
[INFO] [stdout] test import_price::tests::import_price_stores_index_entries_like_cpp_globals ... ok
[INFO] [stdout] test spell::tests::test_spell_store_creation ... ok
[INFO] [stdout] test spell_item_enchantment::tests::arena_allowed_matches_cpp_flag_check ... ok
[INFO] [stdout] test spell_item_enchantment::tests::load_spell_item_enchantment_store ... ok
[INFO] [stdout] test wdc4::test_find_record_58268 ... ok
[INFO] [stdout] test wdc4::tests::test_compression_type_from_u32 ... ok
[INFO] [stdout] test wdc4::tests::test_parse_item_db2 ... ok
[INFO] [stdout] test wdc4::tests::test_probe_item_sparse_db2 ... ok
[INFO] [stdout] test wdc4::tests::test_read_bits_cross_byte ... ok
[INFO] [stdout] test wdc4::tests::test_read_bits_multi_byte ... ok
[INFO] [stdout] test wdc4::tests::test_read_bits_simple ... ok
[INFO] [stdout] test wdc4::tests::test_sign_extend ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_database-79eb4f689e1ad636)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_ecs-a5dfbf1ee67a11fa)
[INFO] [stdout] test database::tests::build_connection_string_uses_numeric_port ... ok
[INFO] [stdout] test params::tests::prepared_statement_clear ... ok
[INFO] [stdout] test database::tests::build_connection_string_uses_socket_for_non_numeric_port_or_socket ... ok
[INFO] [stdout] test params::tests::prepared_statement_all_types ... ok
[INFO] [stdout] test params::tests::prepared_statement_set_params ... ok
[INFO] [stdout] test params::tests::prepared_statement_overwrite_param ... ok
[INFO] [stdout] test params::tests::prepared_statement_sparse_indices ... ok
[INFO] [stdout] test statements::character::tests::char_sql_has_correct_placeholders ... ok
[INFO] [stdout] test statements::character::tests::char_sql_contains_expected_tables ... ok
[INFO] [stdout] test statements::character::tests::char_statements_have_sql ... ok
[INFO] [stdout] test statements::tests::hotfix_control_statements_match_cpp_tables ... ok
[INFO] [stdout] test statements::tests::login_sql_contains_expected_tables ... ok
[INFO] [stdout] test statements::tests::login_sql_has_correct_placeholders ... ok
[INFO] [stdout] test statements::tests::login_statements_have_sql ... ok
[INFO] [stdout] test statements::tests::login_unregistered_statement_is_empty ... ok
[INFO] [stdout] test statements::tests::world_spawn_group_statements_match_cpp_objectmgr_tables ... ok
[INFO] [stdout] test statements::tests::world_spawn_loader_statements_match_cpp_objectmgr_tables ... ok
[INFO] [stdout] test statements::tests::world_statements_have_sql ... ok
[INFO] [stdout] test statements::tests::world_unregistered_statement_is_empty ... ok
[INFO] [stdout] test statements::tests::world_sql_contains_expected_tables ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_entities-ff02a978e4b3d661)
[INFO] [stdout] 
[INFO] [stdout] running 289 tests
[INFO] [stdout] test area_trigger::tests::areatrigger_values_update_sets_type_bit ... ok
[INFO] [stdout] test bag::tests::initialize_created_state_follows_bag_create_without_template_lookup ... ok
[INFO] [stdout] test area_trigger::tests::areatrigger_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test area_trigger::tests::areatrigger_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test bag::tests::store_and_remove_item_updates_container_and_child_item_like_cpp ... ok
[INFO] [stdout] test bag::tests::bag_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test bag::tests::too_many_container_slots_is_rejected_like_cpp_create_template_guard ... ok
[INFO] [stdout] test bag::tests::values_update_sets_container_type_bit ... ok
[INFO] [stdout] test conversation::tests::conversation_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test conversation::tests::conversation_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test conversation::tests::conversation_duration_and_locale_times_follow_cpp_shape ... ok
[INFO] [stdout] test conversation::tests::conversation_values_update_sets_type_bit ... ok
[INFO] [stdout] test corpse::tests::corpse_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test corpse::tests::corpse_expiration_matches_cpp_thresholds ... ok
[INFO] [stdout] test corpse::tests::corpse_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test corpse::tests::corpse_grid_unload_helpers_apply_represented_state ... ok
[INFO] [stdout] test corpse::tests::corpse_values_update_sets_type_bit ... ok
[INFO] [stdout] test creature::tests::creature_ai_ownership_damage_and_death_syncs_unit_state ... ok
[INFO] [stdout] test creature::tests::creature_ai_ownership_derives_identity_health_and_position ... ok
[INFO] [stdout] test creature::tests::creature_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test creature::tests::creature_ai_ownership_enter_and_reset_combat ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_create_applies_template_stats_and_clean_baseline ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_create_applies_resolved_base_weapon_damage ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_create_without_spawn_applies_dynamic_respawn_compatibility ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_health_is_clamped_to_max_health ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_load_from_db_applies_spawn_bridge_state ... ok
[INFO] [stdout] test creature::tests::creature_ai_ownership_respawn_aggro_and_corpse_timer ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_plan_preserves_trinity_critical_order ... ok
[INFO] [stdout] test creature::tests::creature_runtime_all_loot_removed_updates_corpse_and_respawn_like_trinity ... ok
[INFO] [stdout] test creature::tests::creature_ai_ownership_wander_and_packet_metadata_are_canonical ... ok
[INFO] [stdout] test creature::tests::creature_display_with_model_updates_unit_dimensions_like_cpp ... ok
[INFO] [stdout] test creature::tests::creature_grid_unload_helpers_apply_represented_state ... ok
[INFO] [stdout] test creature::tests::creature_respawn_and_corpse_setters_match_cpp_fields ... ok
[INFO] [stdout] test creature::tests::creature_power_index_matches_cpp_stat_system ... ok
[INFO] [stdout] test creature::tests::creature_react_state_and_faction_use_unit_fields ... ok
[INFO] [stdout] test creature::tests::creature_lifecycle_create_with_spawn_cleans_object_and_unit_masks ... ok
[INFO] [stdout] test creature::tests::creature_runtime_just_died_sets_corpse_respawn_and_clears_combat_bridge_state ... ok
[INFO] [stdout] test creature::tests::creature_runtime_forced_despawn_immediate_matches_compat_and_noncompat_bridges ... ok
[INFO] [stdout] test area_trigger::tests::areatrigger_duration_and_static_state_follow_cpp_shape ... ok
[INFO] [stdout] test creature::tests::creature_runtime_just_respawned_resets_represented_runtime_state ... ok
[INFO] [stdout] test dynamic_object::tests::dynamic_object_duration_and_bridge_state_follow_cpp_shape ... ok
[INFO] [stdout] test dynamic_object::tests::dynamic_object_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test creature::tests::creature_runtime_update_plan_covers_dead_corpse_and_alive_branches ... ok
[INFO] [stdout] test game_object::tests::gameobject_template_get_loot_id_matches_cpp_switch ... ok
[INFO] [stdout] test game_object::tests::loot_state_tracks_activating_unit_only_for_activated_state ... ok
[INFO] [stdout] test game_object::tests::gameobject_grid_unload_helpers_apply_represented_state ... ok
[INFO] [stdout] test dynamic_object::tests::dynamic_object_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test game_object::tests::values_update_sets_gameobject_object_type_bit ... ok
[INFO] [stdout] test game_object::tests::spell_id_and_spawn_fields_match_cpp_base_behaviour ... ok
[INFO] [stdout] test creature::tests::creature_runtime_tap_list_group_soft_cap_and_evade_clear_rules ... ok
[INFO] [stdout] test game_object::tests::path_progress_for_client_preserves_cpp_dynamic_flag_change_state ... ok
[INFO] [stdout] test item::tests::bag_slot_and_position_follow_cpp_container_pointer_shape ... ok
[INFO] [stdout] test item::tests::bind_if_stored_matches_cpp_storeitem_bag_position_rule ... ok
[INFO] [stdout] test game_object::tests::chest_loot_source_uses_cpp_data_indices ... ok
[INFO] [stdout] test game_object::tests::gameobject_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test game_object::tests::gameobject_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test item::tests::bind_if_visualized_matches_cpp_bonding_subset ... ok
[INFO] [stdout] test item::tests::can_be_merged_partly_with_matches_cpp_guards ... ok
[INFO] [stdout] test item::tests::can_change_equip_state_in_combat_matches_cpp_template_helper ... ok
[INFO] [stdout] test item::tests::clone_item_for_store_matches_cpp_cloneitem_field_subset ... ok
[INFO] [stdout] test item::tests::is_binded_not_with_matches_cpp_representable_cases ... ok
[INFO] [stdout] test item::tests::item_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test item::tests::item_can_go_into_bag_matches_cpp_container_family_rules ... ok
[INFO] [stdout] test item::tests::item_flag_helpers_match_cpp_dynamic_flags ... ok
[INFO] [stdout] test item::tests::item_modifiers_mark_cpp_modifiers_bit ... ok
[INFO] [stdout] test item::tests::soulbound_trade_allowed_guids_match_cpp_set_and_clear ... ok
[INFO] [stdout] test item::tests::values_update_sets_item_type_bit ... ok
[INFO] [stdout] test item::tests::state_transition_preserves_new_until_saved_like_cpp ... ok
[INFO] [stdout] test item::tests::visible_entry_and_appearance_follow_cpp_transmog_precedence ... ok
[INFO] [stdout] test item::tests::initialize_created_state_follows_cpp_create_without_template_lookup ... ok
[INFO] [stdout] test item::tests::played_time_and_bop_trade_expiry_match_cpp_thresholds ... ok
[INFO] [stdout] test item::tests::visible_secondary_modified_appearance_uses_spec_then_all_specs ... ok
[INFO] [stdout] test object::tests::add_and_remove_world_clear_update_mask_like_cpp ... ok
[INFO] [stdout] test dynamic_object::tests::dynamic_object_values_update_sets_type_bit ... ok
[INFO] [stdout] test item::tests::spell_charges_and_enchantments_mark_cpp_array_bits ... ok
[INFO] [stdout] test item::tests::visible_item_visual_follows_cpp_illusion_then_permanent_enchant ... ok
[INFO] [stdout] test object::tests::create_sets_guid_and_clears_update_state_like_cpp_create ... ok
[INFO] [stdout] test object::tests::default_object_matches_cpp_constructor_state ... ok
[INFO] [stdout] test object::tests::dynamic_flags_match_cpp_flag_helpers ... ok
[INFO] [stdout] test object::tests::map_and_grid_state_are_rust_bridge_fields_for_canonical_map_ownership ... ok
[INFO] [stdout] test object::tests::type_ids_and_masks_match_object_guid_h_values ... ok
[INFO] [stdout] test object::tests::object_data_update_mask_uses_cpp_object_data_bits ... ok
[INFO] [stdout] test object_accessor::tests::corpse_is_directly_accessible_but_not_returned_by_type_mask_like_cpp ... ok
[INFO] [stdout] test object_accessor::tests::map_source_lookup_reads_canonical_source_without_bridge_storage ... ok
[INFO] [stdout] test object_accessor::tests::player_name_normalization_matches_cpp_shape ... ok
[INFO] [stdout] test object_accessor::tests::object_by_type_mask_matches_cpp_dispatch_rules ... ok
[INFO] [stdout] test object_accessor::tests::unit_and_creature_or_pet_or_vehicle_helpers_match_cpp ... ok
[INFO] [stdout] test object_accessor::tests::world_object_dispatches_by_high_guid_to_map_store ... ok
[INFO] [stdout] test pet::tests::permanent_pet_and_xp_factor_match_cpp_shape ... ok
[INFO] [stdout] test pet::tests::pet_constructor_matches_cpp_guardian_base_state ... ok
[INFO] [stdout] test pet::tests::pet_type_duration_group_and_focus_state_follow_cpp_shape ... ok
[INFO] [stdout] test pet::tests::pet_save_slot_helpers_match_cpp_ranges ... ok
[INFO] [stdout] test pet::tests::pet_power_index_delegates_to_creature_bridge ... ok
[INFO] [stdout] test pet::tests::pet_spell_map_and_autospells_match_cpp_field_shape ... ok
[INFO] [stdout] test player::tests::apply_enchantment_effect_actions_match_cpp_damage_and_totem_attack_slot_rules ... ok
[INFO] [stdout] test object_accessor::tests::type_mask_item_requires_registered_item_object_like_cpp_item_pointer ... ok
[INFO] [stdout] test pet::tests::stable_lookup_matches_cpp_priority_order ... ok
[INFO] [stdout] test player::tests::apply_enchantment_effect_actions_match_cpp_deferred_noop_and_spell_cases ... ok
[INFO] [stdout] test player::tests::apply_enchantment_effect_actions_match_cpp_stat_resistance_and_broken_skip ... ok
[INFO] [stdout] test player::tests::apply_enchantment_effect_actions_resolve_cpp_random_suffix_amounts ... ok
[INFO] [stdout] test player::tests::apply_enchantment_plan_matches_cpp_early_guards ... ok
[INFO] [stdout] test object_accessor::tests::save_all_players_with_invokes_sink_once_per_registered_player ... ok
[INFO] [stdout] test player::tests::apply_enchantment_plan_updates_duration_and_visible_shape_like_cpp ... ok
[INFO] [stdout] test player::tests::can_bank_item_fills_specific_slot_then_continues_bank_search_like_cpp ... ok
[INFO] [stdout] test player::tests::active_player_fields_and_inventory_slots_mark_cpp_bits ... ok
[INFO] [stdout] test player::tests::apply_enchantment_plan_matches_cpp_socket_requirement_order ... ok
[INFO] [stdout] test player::tests::apply_enchantment_effect_actions_expand_cpp_stat_switch_special_cases ... ok
[INFO] [stdout] test object_accessor::tests::get_player_requires_same_map_like_cpp_get_player_map ... ok
[INFO] [stdout] test object_accessor::tests::save_all_players_with_does_not_break_name_or_bridge_map_state ... ok
[INFO] [stdout] test object_accessor::tests::global_player_lookup_distinguishes_connected_and_in_world ... ok
[INFO] [stdout] test object_accessor::tests::type_mask_item_uses_player_inventory_like_cpp_branch ... ok
[INFO] [stdout] test object_accessor::tests::save_all_players_with_propagates_error_with_player_guid ... ok
[INFO] [stdout] test player::tests::can_bank_item_preflight_matches_cpp_item_template_and_source_guards ... ok
[INFO] [stdout] test player::tests::can_bank_item_specific_bank_bag_slot_matches_cpp_guards ... ok
[INFO] [stdout] test player::tests::can_equip_item_destination_use_and_unique_paths_match_cpp ... ok
[INFO] [stdout] test player::tests::can_bank_item_general_search_and_full_bank_match_cpp ... ok
[INFO] [stdout] test player::tests::can_equip_item_quiver_offhand_and_twohand_edges_match_cpp ... ok
[INFO] [stdout] test player::tests::can_equip_item_preflight_and_runtime_guards_match_cpp_order ... ok
[INFO] [stdout] test player::tests::add_item_to_buyback_slot_object_matches_cpp_price_time_and_replacement ... ok
[INFO] [stdout] test player::tests::can_equip_unique_item_template_matches_cpp_limit_category_guards ... ok
[INFO] [stdout] test player::tests::can_equip_unique_item_object_matches_cpp_template_then_gem_order ... ok
[INFO] [stdout] test player::tests::can_store_item_in_bag_applies_cpp_specialized_mode_and_family_rules ... ok
[INFO] [stdout] test player::tests::can_store_item_in_bag_scans_slots_like_cpp_merge_and_empty_modes ... ok
[INFO] [stdout] test player::tests::can_store_item_in_specific_slot_merges_existing_stack_like_cpp ... ok
[INFO] [stdout] test player::tests::can_store_item_in_specific_slot_applies_source_move_guards_like_cpp ... ok
[INFO] [stdout] test player::tests::can_equip_unique_item_object_matches_cpp_socketed_gem_limit_count ... ok
[INFO] [stdout] test player::tests::can_store_item_in_specific_slot_allocates_empty_top_level_like_cpp ... ok
[INFO] [stdout] test player::tests::can_store_item_general_search_handles_new_bag_direct_equip_and_bag_in_bag ... ok
[INFO] [stdout] test player::tests::can_store_item_in_inventory_slots_applies_cpp_source_and_skip_rules ... ok
[INFO] [stdout] test player::tests::can_store_item_in_specific_slot_applies_empty_slot_fit_guards_like_cpp ... ok
[INFO] [stdout] test player::tests::can_filter_whispers_permission_keeps_constructor_accept_flag_false ... ok
[INFO] [stdout] test player::tests::can_equip_unique_item_template_matches_cpp_unique_entry_guards ... ok
[INFO] [stdout] test player::tests::can_store_item_in_bag_applies_cpp_bag_and_source_guards ... ok
[INFO] [stdout] test player::tests::can_store_item_in_specific_slot_preserves_cpp_keyring_gate_condition ... ok
[INFO] [stdout] test player::tests::can_store_item_in_inventory_slots_allocates_empty_slots_like_cpp ... ok
[INFO] [stdout] test player::tests::can_store_item_preflight_matches_cpp_template_source_and_similar_guards ... ok
[INFO] [stdout] test player::tests::can_store_item_fills_specific_slot_then_continues_search_like_cpp ... ok
[INFO] [stdout] test player::tests::can_take_more_similar_items_matches_cpp_limit_category_guards ... ok
[INFO] [stdout] test player::tests::can_take_more_similar_items_matches_cpp_max_count_guards ... ok
[INFO] [stdout] test player::tests::can_store_item_reports_item_max_count_after_partial_similar_limit_like_cpp ... ok
[INFO] [stdout] test player::tests::can_use_item_object_matches_cpp_skill_and_heirloom_morph ... ok
[INFO] [stdout] test player::tests::can_unequip_item_matches_cpp_position_template_and_runtime_guards ... ok
[INFO] [stdout] test player::tests::can_use_item_template_matches_cpp_access_requirement_order ... ok
[INFO] [stdout] test player::tests::destroy_zone_limited_item_plan_matches_cpp_scan_order ... ok
[INFO] [stdout] test player::tests::destroy_item_object_removes_top_level_item_like_cpp ... ok
[INFO] [stdout] test player::tests::destroy_item_count_by_entry_plan_matches_cpp_scan_order_and_partial_stop ... ok
[INFO] [stdout] test player::tests::can_use_item_template_matches_cpp_late_requirement_order ... ok
[INFO] [stdout] test player::tests::can_use_item_object_matches_cpp_item_level_and_template_order ... ok
[INFO] [stdout] test player::tests::destroy_item_count_by_entry_plan_matches_cpp_unequip_check_for_full_equipment_stack ... ok
[INFO] [stdout] test player::tests::enchantment_time_update_removes_missing_or_zero_enchantments_like_cpp ... ok
[INFO] [stdout] test player::tests::equip_item_object_merges_existing_stack_like_cpp ... ok
[INFO] [stdout] test player::tests::equip_item_object_empty_slot_visualizes_and_flags_item_like_cpp ... ok
[INFO] [stdout] test player::tests::enchantment_duration_remove_saves_left_duration_unlike_reference_cleanup ... ok
[INFO] [stdout] test player::tests::enchantment_durations_match_cpp_add_replace_remove_and_tick ... ok
[INFO] [stdout] test player::tests::can_store_item_in_inventory_slots_merges_matching_stacks_like_cpp ... ok
[INFO] [stdout] test player::tests::destroy_item_count_for_item_object_decrements_partial_stack_like_cpp ... ok
[INFO] [stdout] test player::tests::destroy_conjured_items_plan_matches_cpp_scan_order_without_keyring ... ok
[INFO] [stdout] test player::tests::destroy_item_object_removes_bag_item_like_cpp ... ok
[INFO] [stdout] test player::tests::finalize_move_item_to_inventory_object_skips_merged_stack_like_cpp ... ok
[INFO] [stdout] test player::tests::find_equip_slot_requested_free_and_swap_paths_match_cpp ... ok
[INFO] [stdout] test player::tests::item_count_by_entry_matches_cpp_locations_and_skip_item ... ok
[INFO] [stdout] test player::tests::finalize_move_item_to_inventory_object_marks_original_like_cpp ... ok
[INFO] [stdout] test player::tests::item_by_entry_matches_cpp_for_each_item_order_and_stop ... ok
[INFO] [stdout] test player::tests::find_equip_slot_maps_inventory_types_like_cpp ... ok
[INFO] [stdout] test player::tests::item_count_with_limit_category_matches_cpp_everywhere_and_skip_item ... ok
[INFO] [stdout] test player::tests::item_duration_list_matches_cpp_add_remove_and_update_plan ... ok
[INFO] [stdout] test player::tests::find_equip_slot_twohand_offhand_and_professions_match_cpp_edges ... ok
[INFO] [stdout] test player::tests::destroy_item_count_for_item_object_destroys_full_stack_like_cpp ... ok
[INFO] [stdout] test player::tests::item_list_by_entry_matches_cpp_locations_bank_and_reagent_order ... ok
[INFO] [stdout] test player::tests::item_pos_count_containment_matches_cpp_pos_only_check ... ok
[INFO] [stdout] test player::tests::merge_bag_item_stack_object_rejects_empty_or_mismatched_slot ... ok
[INFO] [stdout] test player::tests::merge_top_level_item_stack_object_matches_cpp_existing_stack_branch ... ok
[INFO] [stdout] test player::tests::player_buyback_slots_follow_cpp_current_slot_and_masks ... ok
[INFO] [stdout] test player::tests::move_item_from_inventory_object_unlinks_and_clears_refund_like_cpp ... ok
[INFO] [stdout] test player::tests::money_matches_cpp_modify_clamps_and_active_playerdata_coinage_bit ... ok
[INFO] [stdout] test player::tests::merge_top_level_item_stack_object_rejects_empty_or_mismatched_slot ... ok
[INFO] [stdout] test player::tests::player_flags_and_loot_guid_mark_playerdata_bits ... ok
[INFO] [stdout] test player::tests::player_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test player::tests::merge_bag_item_stack_object_matches_cpp_existing_stack_branch ... ok
[INFO] [stdout] test player::tests::player_gameplay_load_plan_preserves_trinity_order ... ok
[INFO] [stdout] test player::tests::player_gameplay_default_state_is_empty_and_attached_to_new_player ... ok
[INFO] [stdout] test player::tests::player_gameplay_apply_load_record_stores_every_major_bucket ... ok
[INFO] [stdout] test player::tests::player_gameplay_rest_and_taxi_destination_round_trip ... ok
[INFO] [stdout] test player::tests::player_get_item_by_guid_scans_everywhere_except_buyback_like_cpp_for_each_item ... ok
[INFO] [stdout] test player::tests::player_lifecycle_login_plan_keeps_trinity_phase_ordering ... ok
[INFO] [stdout] test player::tests::player_identity_setters_mark_cpp_unit_and_playerdata_bits ... ok
[INFO] [stdout] test player::tests::player_is_valid_pos_matches_cpp_top_level_and_bag_rules ... ok
[INFO] [stdout] test player::tests::remove_item_from_buyback_slot_object_matches_cpp_item_side_effects ... ok
[INFO] [stdout] test player::tests::player_inventory_storage_matches_cpp_get_item_by_pos_rules ... ok
[INFO] [stdout] test player::tests::quick_equip_item_object_visualizes_and_flags_item_like_cpp ... ok
[INFO] [stdout] test player::tests::remove_item_from_buyback_slot_object_rejects_mismatched_item_ref ... ok
[INFO] [stdout] test player::tests::player_power_index_resolver_configures_runtime_mapping_without_update_masks ... ok
[INFO] [stdout] test player::tests::remove_arena_enchantments_scans_inventory_and_bags_like_cpp ... ok
[INFO] [stdout] test player::tests::remove_arena_enchantments_cleans_duration_list_like_cpp ... ok
[INFO] [stdout] test player::tests::soulbound_tradeable_item_set_matches_cpp_add_remove_and_update ... ok
[INFO] [stdout] test player::tests::remove_item_object_unlinks_bag_item_like_cpp_bag_removeitem ... ok
[INFO] [stdout] test player::tests::player_lifecycle_create_initializes_representable_state_as_clean_baseline ... ok
[INFO] [stdout] test player::tests::split_item_rejects_loot_and_trade_states_in_cpp_order ... ok
[INFO] [stdout] test player::tests::split_item_rejects_zero_all_or_too_many_like_cpp_guards ... ok
[INFO] [stdout] test player::tests::split_item_to_empty_top_level_object_rolls_back_source_like_cpp_on_failure ... ok
[INFO] [stdout] test player::tests::store_bag_item_object_mutates_bag_branch_like_cpp_storeitem ... ok
[INFO] [stdout] test player::tests::split_item_to_empty_top_level_object_matches_cpp_split_allocation ... ok
[INFO] [stdout] test player::tests::player_lifecycle_world_insertion_state_marks_visibility_after_add ... ok
[INFO] [stdout] test player::tests::split_item_to_empty_bag_item_object_matches_cpp_split_allocation ... ok
[INFO] [stdout] test player::tests::store_cloned_item_object_keeps_source_and_stores_clone_like_cpp_storeitem_clone ... ok
[INFO] [stdout] test player::tests::store_bag_item_object_rejects_mismatched_or_occupied_bag_slot ... ok
[INFO] [stdout] test player::tests::player_position_classifiers_match_cpp_static_helpers ... ok
[INFO] [stdout] test player::tests::send_new_item_plan_matches_cpp_packet_fields_and_delivery ... ok
[INFO] [stdout] test player::tests::send_duration_plans_follow_cpp_duration_lists ... ok
[INFO] [stdout] test player::tests::swap_item_preflight_matches_cpp_no_source_child_and_dead_order ... ok
[INFO] [stdout] test player::tests::store_cloned_bag_item_object_keeps_source_and_stores_clone_like_cpp_storeitem_clone ... ok
[INFO] [stdout] test player::tests::swap_item_preflight_matches_cpp_unequip_and_bag_self_guards ... ok
[INFO] [stdout] test player::tests::remove_item_object_unlinks_equipment_without_clearing_owner_like_cpp ... ok
[INFO] [stdout] test player::tests::swap_item_bag_exchange_plan_matches_cpp_empty_bag_exchange ... ok
[INFO] [stdout] test player::tests::player_lifecycle_load_from_db_initializes_loaded_state_as_clean_baseline ... ok
[INFO] [stdout] test player::tests::swap_item_real_swap_validation_plan_matches_cpp_bidirectional_checks ... ok
[INFO] [stdout] test player::tests::swap_item_real_swap_execution_plan_matches_cpp_final_actions ... ok
[INFO] [stdout] test player::tests::store_item_object_mutates_empty_top_level_slot_like_cpp_storeitem ... ok
[INFO] [stdout] test player::tests::titan_grip_and_equipped_weapon_helpers_match_cpp_representable_rules ... ok
[INFO] [stdout] test player::tests::store_item_object_binds_on_equip_only_for_bag_positions_like_cpp_storeitem ... ok
[INFO] [stdout] test player::tests::update_skill_enchantments_plan_matches_cpp_missing_template_edges ... ok
[INFO] [stdout] test player::tests::values_update_splits_player_and_active_player_for_receiver ... ok
[INFO] [stdout] test player::tests::swap_item_merge_fill_plan_matches_cpp_occupied_non_bag_case ... ok
[INFO] [stdout] test player::tests::swap_item_orchestration_plan_keeps_phase_gaps_visible ... ok
[INFO] [stdout] test player::tests::store_item_object_rejects_occupied_slot_until_stack_merge_registry_exists ... ok
[INFO] [stdout] test player::tests::update_skill_enchantments_plan_matches_cpp_order_and_thresholds ... ok
[INFO] [stdout] test player::tests::swap_item_orchestration_plan_matches_cpp_branch_order ... ok
[INFO] [stdout] test player::tests::swap_item_empty_destination_plan_matches_cpp_move_case ... ok
[INFO] [stdout] test player::tests::visible_item_slot_marks_cpp_playerdata_array_bits ... ok
[INFO] [stdout] test scene_object::tests::scene_object_data_setters_mark_cpp_bits ... ok
[INFO] [stdout] test player::tests::visualize_item_object_mutates_item_like_cpp ... ok
[INFO] [stdout] test player::tests::visualize_item_updates_equipment_storage_and_visible_item_like_cpp ... ok
[INFO] [stdout] test scene_object::tests::scene_object_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test scene_object::tests::scene_object_values_update_sets_type_bit ... ok
[INFO] [stdout] test totem::tests::created_packet_uses_cpp_slot_offset ... ok
[INFO] [stdout] test totem::tests::creature_spell_setter_ignores_out_of_range_slot_like_safe_bridge ... ok
[INFO] [stdout] test totem::tests::totem_constructor_matches_cpp_minion_totem_base_state ... ok
[INFO] [stdout] test transport::tests::initialize_created_state_sets_cpp_transport_gameobject_fields ... ok
[INFO] [stdout] test totem::tests::update_and_unsummon_follow_cpp_duration_shape ... ok
[INFO] [stdout] test transport::tests::movement_stop_request_matches_cpp_period_math ... ok
[INFO] [stdout] test transport::tests::transport_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test transport::tests::passenger_sets_follow_cpp_dynamic_and_static_shape ... ok
[INFO] [stdout] test transport::tests::transport_position_transforms_match_cpp_formula ... ok
[INFO] [stdout] test unit::tests::attacking_uses_combat_subsystem_as_single_source_of_truth ... ok
[INFO] [stdout] test unit::tests::health_and_max_health_follow_cpp_clamps ... ok
[INFO] [stdout] test unit::tests::display_level_faction_and_reach_mark_unitdata_bits ... ok
[INFO] [stdout] test transport::tests::template_state_tracks_events_period_and_expected_map ... ok
[INFO] [stdout] test unit::tests::power_setters_use_derived_power_index_and_cpp_clamps ... ok
[INFO] [stdout] test unit::tests::values_update_sets_unit_object_type_bit ... ok
[INFO] [stdout] test unit::tests::unit_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test unit_subsystems::unit_subsystems_tests::aura_spell_history_and_current_spell_helpers_roundtrip ... ok
[INFO] [stdout] test totem::tests::init_stats_and_summon_follow_cpp_spell_rules ... ok
[INFO] [stdout] test unit::tests::unit_subsystem_helpers_do_not_mark_update_fields ... ok
[INFO] [stdout] test scene_object::tests::scene_object_removal_predicate_matches_cpp_shape ... ok
[INFO] [stdout] test unit_subsystems::unit_subsystems_tests::current_spell_slots_match_trinity_values_and_roundtrip ... ok
[INFO] [stdout] test update_fields::tests::active_player_descriptors_capture_large_generated_sections ... ok
[INFO] [stdout] test unit_subsystems::unit_subsystems_tests::threat_combat_helpers_roundtrip ... ok
[INFO] [stdout] test update_fields::tests::item_visibility_masks_match_cpp_write_update_filters ... ok
[INFO] [stdout] test update_fields::tests::player_visibility_masks_match_cpp_write_update_filters ... ok
[INFO] [stdout] test update_fields::tests::dynamic_and_nested_descriptors_cover_key_generated_fields ... ok
[INFO] [stdout] test totem::tests::totem_immunity_predicates_match_cpp_special_cases ... ok
[INFO] [stdout] test unit_subsystems::unit_subsystems_tests::motion_charm_vehicle_and_ai_helpers_roundtrip ... ok
[INFO] [stdout] test update_fields::tests::unit_visibility_masks_match_cpp_write_update_filters ... ok
[INFO] [stdout] test update_fields::tests::unfiltered_sections_return_all_bits_truncated_to_bit_count ... ok
[INFO] [stdout] test update_fields::tests::update_mask_from_blocks_masks_unused_tail_bits ... ok
[INFO] [stdout] test update_fields::tests::update_field_section_metadata_matches_cpp_template_constants ... ok
[INFO] [stdout] test update_fields::tests::update_mask_and_or_recompute_empty_block_masks ... ok
[INFO] [stdout] test update_fields::tests::update_mask_set_reset_and_blocks_mask_match_cpp_semantics ... ok
[INFO] [stdout] test update_fields::tests::values_update_sections_sets_client_type_bits_from_section_masks ... ok
[INFO] [stdout] test update_fields::tests::update_mask_set_all_marks_used_blocks_and_masks_unused_tail_bits ... ok
[INFO] [stdout] test vehicle::tests::next_empty_seat_skips_occupied_pending_and_unusable ... ok
[INFO] [stdout] test vehicle::tests::transport_position_transforms_match_cpp_formula ... ok
[INFO] [stdout] test vehicle::tests::vehicle_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test world_object::tests::angle_helpers_match_cpp_position_relative_angle_semantics ... ok
[INFO] [stdout] test world_object::tests::arc_front_back_and_line_helpers_match_cpp_boundaries ... ok
[INFO] [stdout] test vehicle::tests::install_uninstall_and_passengers_follow_cpp_shape ... ok
[INFO] [stdout] test world_object::tests::distance_helpers_subtract_combat_reach_and_clamp_zero ... ok
[INFO] [stdout] test world_object::tests::relocate_normalizes_orientation_like_cpp_position ... ok
[INFO] [stdout] test world_object::tests::world_location_defaults_match_cpp_world_location ... ok
[INFO] [stdout] test world_object::tests::world_object_constructor_matches_cpp_base_state ... ok
[INFO] [stdout] test world_object::tests::world_object_height_floor_and_ground_update_use_map_bridge ... ok
[INFO] [stdout] test world_object::tests::set_map_and_reset_map_follow_cpp_binding_rules ... ok
[INFO] [stdout] test world_object::tests::within_dist_in_map_requires_world_map_and_phase ... ok
[INFO] [stdout] test world_object::tests::box_and_double_vertical_cylinder_match_cpp_geometry ... ok
[INFO] [stdout] test world_object::tests::within_dist_uses_cpp_strict_less_than_and_radius_options ... ok
[INFO] [stdout] test world_object::tests::world_object_los_prefilters_map_not_phase_and_uses_partial_raw_endpoint_bridge ... ok
[INFO] [stdout] test world_object::tests::world_object_sight_range_matches_representable_cpp_cases ... ok
[INFO] [stdout] test world_object::tests::world_object_transport_relocation_roundtrips_offset_and_global_position ... ok
[INFO] [stdout] test world_object::tests::world_object_visibility_range_uses_override_far_visible_then_map_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 289 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_handler-5420f0fb9d6e8830)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::get_handler_found ... ok
[INFO] [stdout] test tests::get_handler_not_found ... ok
[INFO] [stdout] test tests::dispatch_table_contains_registered ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_instances-6cf60a78ce5affc8)
[INFO] [stdout] test tests::contains_handler_check ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::boss_info_skips_non_matching_difficulty_like_cpp ... ok
[INFO] [stdout] test tests::boss_info_selects_first_any_or_matching_difficulty_like_cpp ... ok
[INFO] [stdout] test tests::creature_overload_returns_none_when_dynamic_cast_fails_like_cpp ... ok
[INFO] [stdout] test tests::load_dungeon_encounter_data_ignores_invalid_boss_or_missing_rows_like_cpp ... ok
[INFO] [stdout] test tests::creature_overload_uses_boss_ai_boss_id_like_cpp ... 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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_logging-a80122c982e1c03e)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_loot-92acf22532a12d0f)
[INFO] [stdout] test tests::convenience_macros_compile ... ok
[INFO] [stdout] test tests::log_filter_display ... ok
[INFO] [stdout] test tests::log_filter_as_str_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test tests::condition_compare_matches_cpp_compare_values_order ... ok
[INFO] [stdout] test tests::loot_condition_legacy_object_and_type_mask_rows_normalize_like_cpp_load ... ok
[INFO] [stdout] test tests::loot_condition_link_check_matches_cpp_source_and_item_guards ... ok
[INFO] [stdout] test tests::fill_loot_initializes_loot_item_metadata_like_cpp_constructor ... ok
[INFO] [stdout] test tests::fill_loot_with_context_reports_reference_source_like_cpp_conditions ... ok
[INFO] [stdout] test tests::fill_loot_splits_stacks_and_caps_at_cpp_max_loot_items ... ok
[INFO] [stdout] test tests::loot_condition_reference_self_reference_guard_matches_cpp_load_skip ... ok
[INFO] [stdout] test tests::fill_loot_reports_missing_template_like_cpp_no_empty_error_branch ... ok
[INFO] [stdout] test tests::generate_money_loot_matches_cpp_boundary_branches ... ok
[INFO] [stdout] test tests::loot_condition_reference_ids_extract_negative_condition_types_like_cpp ... ok
[INFO] [stdout] test tests::loot_conditions_else_group_negative_and_unsupported_rows_match_cpp_shape ... ok
[INFO] [stdout] test tests::loot_condition_reference_check_reports_missing_templates_like_cpp_load_guard ... ok
[INFO] [stdout] test tests::fill_loot_processes_plain_group_and_reference_entries_like_cpp ... ok
[INFO] [stdout] test tests::loot_condition_row_loadable_guard_matches_cpp_deterministic_load_skips ... ok
[INFO] [stdout] test tests::loot_item_ui_type_free_for_all_and_quest_paths_match_cpp ... ok
[INFO] [stdout] test tests::loot_conditions_reference_templates_expand_like_cpp ... ok
[INFO] [stdout] test tests::loot_item_ui_type_group_roll_paths_match_cpp ... ok
[INFO] [stdout] test tests::loot_item_ui_type_personal_loot_matches_cpp ... ok
[INFO] [stdout] test tests::loot_item_ui_type_hides_looted_or_disallowed_rows_like_cpp ... ok
[INFO] [stdout] test tests::loot_conditions_else_group_store_does_not_require_contiguous_rows_like_cpp ... ok
[INFO] [stdout] test tests::loot_item_ui_type_round_robin_and_master_loot_match_cpp ... ok
[INFO] [stdout] test tests::loot_reference_check_includes_reference_store_self_refs_like_cpp ... ok
[INFO] [stdout] test tests::loot_store_definitions_match_cpp_globals ... ok
[INFO] [stdout] test tests::loot_store_item_validity_matches_cpp_basic_guards ... ok
[INFO] [stdout] test tests::loot_store_load_rows_matches_cpp_clear_validate_and_collect_shape ... ok
[INFO] [stdout] test tests::loot_store_load_rows_rejects_cpp_invalid_group_id ... ok
[INFO] [stdout] test tests::loot_template_add_entry_matches_cpp_group_split ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_map-ce0bd02395333c41)
[INFO] [stdout] test tests::loot_reference_check_matches_cpp_used_missing_and_unused_refs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 70 tests
[INFO] [stdout] test coords::tests::compute_cell_coord_with_offset_matches_trinity_formula ... ok
[INFO] [stdout] test coords::tests::constants_match_trinity_grid_defines ... ok
[INFO] [stdout] test coords::tests::map_coord_validation_matches_trinity_bounds ... ok
[INFO] [stdout] test coords::tests::coord_pair_matches_trinity_helpers ... ok
[INFO] [stdout] test grid::tests::grid_info_unload_locks_match_cpp_semantics ... ok
[INFO] [stdout] test grid::tests::grid_state_values_match_ngrid_h ... ok
[INFO] [stdout] test cell::tests::no_create_flag_is_separate_from_coordinates ... ok
[INFO] [stdout] test cell::tests::object_guid_sets_keep_world_and_grid_objects_separate ... ok
[INFO] [stdout] test grid::tests::periodic_timer_matches_timer_h_tracker_semantics ... ok
[INFO] [stdout] test grid::tests::active_state_moves_to_idle_when_timer_passed_and_grid_empty ... ok
[INFO] [stdout] test grid::tests::ngrid_initializes_like_cpp_constructor ... ok
[INFO] [stdout] test grid::tests::removal_state_does_not_tick_while_unload_locked ... ok
[INFO] [stdout] test coords::tests::compute_cell_coord_and_grid_local_match_trinity_formula ... ok
[INFO] [stdout] test grid::tests::removal_state_resets_when_unload_is_deferred ... ok
[INFO] [stdout] test cell::tests::cell_diff_methods_match_cell_h_semantics ... ok
[INFO] [stdout] test grid::tests::active_state_resets_expiry_when_players_or_active_objects_exist ... ok
[INFO] [stdout] test cell::tests::cell_decomposes_map_wide_cell_coord_like_trinity_cell ... ok
[INFO] [stdout] test cell::tests::cell_from_world_uses_trinity_cell_coord ... ok
[INFO] [stdout] test grid::tests::idle_state_moves_to_removal_after_reset ... ok
[INFO] [stdout] test coords::tests::compute_grid_coord_matches_trinity_formula ... ok
[INFO] [stdout] test grid_unload::tests::apply_set_destroyed_marks_real_creature ... ok
[INFO] [stdout] test grid_unload::tests::stoper_emits_creature_only_combat_cleanup_actions ... ok
[INFO] [stdout] test grid_unload::tests::unloader_deletes_non_corpse_grid_objects_and_clears_grid_sets ... ok
[INFO] [stdout] test grid_unload::tests::apply_cleanup_and_delete_are_represented_without_panics ... ok
[INFO] [stdout] test grid_unload::tests::cleaner_marks_and_cleans_every_grid_object_type_in_place ... ok
[INFO] [stdout] test grid_unload::tests::apply_set_destroyed_marks_real_corpse ... ok
[INFO] [stdout] test manager::tests::instance_id_allocator_reuses_lowest_freed_id ... ok
[INFO] [stdout] test manager::tests::scheduled_script_counter_saturates_on_decrease ... ok
[INFO] [stdout] test manager::tests::destroy_map_removes_players_then_unloads_and_removes_entry ... ok
[INFO] [stdout] test manager::tests::update_destroys_unloadable_maps_before_delayed_update ... ok
[INFO] [stdout] test grid_unload::tests::evacuator_emits_creature_and_gameobject_respawn_relocation_actions ... ok
[INFO] [stdout] test manager::tests::num_instances_and_players_match_dungeon_filter ... ok
[INFO] [stdout] test manager::tests::do_for_all_maps_with_map_id_uses_ordered_pair_range ... ok
[INFO] [stdout] test map::tests::active_object_loading_sets_grid_active_and_short_expiry ... ok
[INFO] [stdout] test manager::tests::create_and_find_map_uses_cpp_map_key_shape ... ok
[INFO] [stdout] test grid_unload::tests::lifecycle_runs_cpp_unload_order_for_normal_unload ... ok
[INFO] [stdout] test grid_unload::tests::apply_set_destroyed_marks_real_gameobject ... ok
[INFO] [stdout] test map::tests::active_objects_near_grid_matches_cpp_cell_range_expansion ... ok
[INFO] [stdout] test manager::tests::activated_map_updater_uses_schedule_and_wait_path ... ok
[INFO] [stdout] test manager::tests::delays_are_clamped_like_map_manager_h ... ok
[INFO] [stdout] test manager::tests::update_waits_for_interval_then_updates_and_delayed_updates_maps ... ok
[INFO] [stdout] test map::tests::ensure_grid_created_sets_idle_grid_and_loads_reversed_terrain_coords ... ok
[INFO] [stdout] test map::tests::ensure_grid_loaded_marks_loaded_before_object_loader_hook ... ok
[INFO] [stdout] test map::tests::grid_id_loaded_uses_cpp_public_grid_id_decomposition ... ok
[INFO] [stdout] test map::tests::map_object_store_inserts_finds_typed_objects_and_removes_by_guid ... ok
[INFO] [stdout] test map::tests::map_constructor_starts_with_empty_grid_slots_like_cpp_pointer_array ... ok
[INFO] [stdout] test map::tests::player_phase_loading_invokes_personal_phase_tracker_before_activation ... ok
[INFO] [stdout] test map::tests::unload_grid_refuses_world_creatures_and_active_neighbors_unless_forced ... ok
[INFO] [stdout] test map::tests::update_grid_state_at_removes_grid_when_removal_unloads_successfully ... ok
[INFO] [stdout] test object_grid_loader::tests::grid_spawn_guid_keeps_cpp_world_object_shape ... ok
[INFO] [stdout] test object_grid_loader::tests::corpse_store_can_load_world_and_grid_corpses_for_same_cell ... ok
[INFO] [stdout] test object_grid_loader::tests::load_n_does_not_cross_grid_boundaries ... ok
[INFO] [stdout] test object_grid_loader::tests::spawn_grid_lifecycle_wires_loader_into_map_ensure_grid_loaded_hook ... ok
[INFO] [stdout] test object_grid_loader::tests::load_n_honors_should_spawn_filter_before_inserting_guid ... ok
[INFO] [stdout] test object_grid_loader::tests::load_n_iterates_cells_and_loads_spawn_store_guids_into_grid_containers ... ok
[INFO] [stdout] test map::tests::map_object_store_rejects_records_from_other_map_or_instance ... ok
[INFO] [stdout] test map::tests::object_accessor_can_consult_map_owned_object_store ... ok
[INFO] [stdout] test object_grid_loader::tests::load_n_uses_grid_local_cells_not_only_constructor_cell ... ok
[INFO] [stdout] test personal_phase::tests::load_grid_loads_each_personal_phase_once_per_owner_and_grid ... ok
[INFO] [stdout] test personal_phase::tests::load_grid_skips_non_personal_phases_and_missing_personal_spawn_sets ... ok
[INFO] [stdout] test personal_phase::tests::owner_phase_change_marks_missing_phases_for_deletion_and_update_despawns ... ok
[INFO] [stdout] test personal_phase::tests::mark_all_phases_for_deletion_uses_default_one_minute_timer ... ok
[INFO] [stdout] test spawn::tests::area_trigger_store_follows_cpp_non_personal_location_index ... ok
[INFO] [stdout] test spawn::tests::object_spawn_store_indexes_creatures_by_map_difficulty_and_cell ... ok
[INFO] [stdout] test tests::map_key_keeps_trinity_uint32_shape ... ok
[INFO] [stdout] test tests::map_key_orders_like_std_pair_for_range_queries ... ok
[INFO] [stdout] test spawn::tests::spawn_constants_match_spawn_data_h ... ok
[INFO] [stdout] test spawn::tests::object_spawn_store_uses_personal_phase_index_for_creatures_and_gameobjects ... ok
[INFO] [stdout] test personal_phase::tests::unload_grid_removes_grid_tracking_and_empty_owner_trackers ... ok
[INFO] [stdout] test spawn::tests::removing_spawn_cleans_empty_cell_entry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_math-308e3d5c4d3b106e)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_network-67230011e7cc36e8)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test tests::bbox_contains_inside ... ok
[INFO] [stdout] test tests::bbox_contains_on_edge ... ok
[INFO] [stdout] test tests::bbox_does_not_contain_outside ... ok
[INFO] [stdout] test tests::bbox_intersects_contained ... ok
[INFO] [stdout] test tests::bbox_intersects_overlap ... ok
[INFO] [stdout] test tests::bbox_intersects_touching ... ok
[INFO] [stdout] test tests::constants_coherent ... ok
[INFO] [stdout] test tests::distance_2d_ignores_y ... ok
[INFO] [stdout] test tests::distance_2d_same_point ... ok
[INFO] [stdout] test tests::distance_sq_basic ... ok
[INFO] [stdout] test tests::grid_to_cell_origin ... ok
[INFO] [stdout] test tests::invalid_inf ... ok
[INFO] [stdout] test tests::invalid_nan ... ok
[INFO] [stdout] test tests::invalid_outside ... ok
[INFO] [stdout] test tests::invalid_z_nan ... ok
[INFO] [stdout] test tests::bbox_no_intersect ... ok
[INFO] [stdout] test tests::invalid_z_too_large ... ok
[INFO] [stdout] test tests::normalize_angle_full_turn ... ok
[INFO] [stdout] test tests::normalize_angle_large_negative ... ok
[INFO] [stdout] test tests::normalize_angle_large_positive ... ok
[INFO] [stdout] test tests::normalize_angle_negative ... ok
[INFO] [stdout] test tests::normalize_angle_positive_within_range ... ok
[INFO] [stdout] test tests::normalize_angle_zero ... ok
[INFO] [stdout] test tests::valid_edge ... ok
[INFO] [stdout] test tests::valid_origin ... ok
[INFO] [stdout] test tests::world_to_grid_center ... ok
[INFO] [stdout] test tests::valid_z_origin ... ok
[INFO] [stdout] test tests::world_to_grid_negative_edge ... ok
[INFO] [stdout] test tests::world_to_grid_positive_edge ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test world_socket::tests::connection_init_strings ... ok
[INFO] [stdout] test world_socket::tests::hex_conversion ... ok
[INFO] [stdout] test world_socket::tests::private_key_is_32_bytes ... ok
[INFO] [stdout] test world_socket::tests::hex_empty ... ok
[INFO] [stdout] test session_mgr::tests::validate_not_found ... ok
[INFO] [stdout] test world_socket::tests::seeds_are_16_bytes ... ok
[INFO] [stdout] test session_mgr::tests::register_and_validate ... ok
[INFO] [stdout] test session_mgr::tests::remove_pending ... ok
[INFO] [stdout] test session_mgr::tests::validate_wrong_key ... ok
[INFO] [stdout] test session_mgr::tests::validate_consumes_entry ... ok
[INFO] [stdout] test world_socket::tests::sign_encryption_differs_with_enabled_flag ... ok
[INFO] [stdout] test world_socket::tests::sign_encryption_produces_64_bytes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_packet-e134d9882d2fb086)
[INFO] [stdout] 
[INFO] [stdout] running 184 tests
[INFO] [stdout] test compression::tests::adler32_empty ... ok
[INFO] [stdout] test compression::tests::adler32_known_data ... ok
[INFO] [stdout] test compression::tests::adler32_incremental ... ok
[INFO] [stdout] test compression::tests::compress_small_data ... ok
[INFO] [stdout] test compression::tests::compress_decompress_roundtrip ... ok
[INFO] [stdout] test compression::tests::compress_large_realistic_packet ... ok
[INFO] [stdout] test compression::tests::decompress_bad_adler_fails ... ok
[INFO] [stdout] test compression::tests::decompress_too_short_fails ... ok
[INFO] [stdout] test header::tests::header_roundtrip ... ok
[INFO] [stdout] test header::tests::header_valid_size ... ok
[INFO] [stdout] test compression::tests::compressed_data_ends_with_sync_marker ... ok
[INFO] [stdout] test packets::aura::tests::test_aura_update_write ... ok
[INFO] [stdout] test packets::auth::tests::auth_challenge_roundtrip ... ok
[INFO] [stdout] test packets::auth::tests::auth_continued_session_read ... ok
[INFO] [stdout] test packets::auth::tests::auth_response_simple_error ... ok
[INFO] [stdout] test packets::auth::tests::auth_session_read ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_failed_read ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_key_roundtrip ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_key_max_account_id ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_key_zero ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_write_ipv4 ... ok
[INFO] [stdout] test packets::auth::tests::enter_encrypted_mode_write ... ok
[INFO] [stdout] test packets::auth::tests::pong_write ... ok
[INFO] [stdout] test compression::tests::persistent_compressor_multiple_packets ... ok
[INFO] [stdout] test header::tests::header_zeroed ... ok
[INFO] [stdout] test packets::auth::tests::ping_roundtrip ... ok
[INFO] [stdout] test packets::character::tests::delete_char_response_roundtrip ... ok
[INFO] [stdout] test packets::auth::tests::connect_to_serial_next ... ok
[INFO] [stdout] test packets::character::tests::enum_characters_empty_read ... ok
[INFO] [stdout] test packets::character::tests::char_delete_read_roundtrip ... ok
[INFO] [stdout] test packets::auth::tests::resume_comms_write ... ok
[INFO] [stdout] test packets::battlenet::tests::battlenet_request_read ... ok
[INFO] [stdout] test packets::battlenet::tests::battlenet_response_error_writes_correctly ... ok
[INFO] [stdout] test packets::character::tests::create_char_response_roundtrip ... ok
[INFO] [stdout] test packets::character::tests::enum_characters_result_empty_list ... ok
[INFO] [stdout] test packets::character::tests::enum_characters_with_one_character ... ok
[INFO] [stdout] test packets::character::tests::login_verify_world_serialization ... ok
[INFO] [stdout] test packets::character::tests::player_login_read_roundtrip ... ok
[INFO] [stdout] test packets::character::tests::create_character_read ... ok
[INFO] [stdout] test packets::battlenet::tests::battlenet_request_empty_data ... ok
[INFO] [stdout] test packets::gossip::tests::gossip_complete_serializes ... ok
[INFO] [stdout] test packets::gossip::tests::gossip_message_empty_serializes ... ok
[INFO] [stdout] test packets::gossip::tests::npc_text_response_not_found ... ok
[INFO] [stdout] test packets::gossip::tests::npc_text_response_with_text ... ok
[INFO] [stdout] test packets::battlenet::tests::method_call_round_trip ... ok
[INFO] [stdout] test packets::item::tests::auto_store_bag_item_parses ... ok
[INFO] [stdout] test packets::item::tests::destroy_item_parses ... ok
[INFO] [stdout] test packets::item::tests::equip_slot_for_bag_uses_cpp_bag_slot_range ... ok
[INFO] [stdout] test packets::item::tests::inventory_change_failure_serializes_limit_category_like_cpp_send_equip_error ... ok
[INFO] [stdout] test packets::item::tests::inventory_change_failure_serializes ... ok
[INFO] [stdout] test packets::item::tests::item_instance_writes_cpp_field_order ... ok
[INFO] [stdout] test packets::item::tests::item_instance_writes_modifications_before_bonus_like_cpp ... ok
[INFO] [stdout] test packets::item::tests::item_enchant_time_update_writes_cpp_order ... ok
[INFO] [stdout] test packets::item::tests::item_purchase_data_client_packets_read_cpp_guid ... ok
[INFO] [stdout] test packets::item::tests::item_expire_purchase_refund_writes_guid_only ... ok
[INFO] [stdout] test packets::item::tests::inventory_change_failure_serializes_bind_confirm_context_like_cpp ... ok
[INFO] [stdout] test packets::item::tests::inventory_change_failure_serializes_level_like_cpp_send_equip_error ... ok
[INFO] [stdout] test packets::item::tests::item_push_result_writes_cpp_order_and_bits ... ok
[INFO] [stdout] test packets::item::tests::item_time_update_writes_cpp_order ... ok
[INFO] [stdout] test packets::item::tests::set_item_purchase_data_writes_cpp_order ... ok
[INFO] [stdout] test packets::item::tests::swap_item_parses ... ok
[INFO] [stdout] test packets::item::tests::swap_inv_item_parses_zero_inv_update ... ok
[INFO] [stdout] test packets::loot::tests::loot_all_passed_writes_cpp_order ... ok
[INFO] [stdout] test packets::loot::tests::loot_currency_data_writes_cpp_shape ... ok
[INFO] [stdout] test packets::loot::tests::ae_loot_targets_writes_cpp_count_only ... ok
[INFO] [stdout] test packets::loot::tests::loot_money_notify_writes_cpp_money_money_mod_and_sole_looter ... ok
[INFO] [stdout] test packets::loot::tests::loot_list_writes_cpp_absent_optional_bits_without_guids ... ok
[INFO] [stdout] test packets::loot::tests::ae_loot_targets_ack_writes_cpp_empty_payload ... ok
[INFO] [stdout] test packets::loot::tests::loot_release_all_writes_cpp_empty_payload ... ok
[INFO] [stdout] test packets::item::tests::swap_inv_item_parses ... ok
[INFO] [stdout] test packets::loot::tests::loot_release_writes_cpp_loot_obj_then_owner ... ok
[INFO] [stdout] test packets::loot::tests::coin_removed_writes_cpp_loot_obj ... ok
[INFO] [stdout] test packets::item::tests::item_purchase_refund_result_writes_optional_contents_bit ... ok
[INFO] [stdout] test packets::loot::tests::loot_response_writes_cpp_currency_count_and_entries_after_items ... ok
[INFO] [stdout] test packets::loot::tests::loot_item_data_writes_cpp_shape ... ok
[INFO] [stdout] test packets::loot::tests::loot_list_writes_cpp_owner_loot_obj_bits_and_optional_guids ... ok
[INFO] [stdout] test packets::loot::tests::loot_money_reads_cpp_soft_interact_bit ... ok
[INFO] [stdout] test packets::loot::tests::loot_removed_writes_cpp_owner_then_loot_obj ... ok
[INFO] [stdout] test packets::loot::tests::loot_response_writes_cpp_owner_then_loot_obj ... ok
[INFO] [stdout] test packets::loot::tests::loot_roll_reads_cpp_loot_obj_list_id_and_vote ... ok
[INFO] [stdout] test packets::loot::tests::loot_roll_won_writes_cpp_order ... ok
[INFO] [stdout] test packets::loot::tests::loot_roll_broadcast_writes_cpp_order_and_bits ... ok
[INFO] [stdout] test packets::loot::tests::loot_rolls_complete_writes_cpp_order ... ok
[INFO] [stdout] test packets::loot::tests::master_loot_candidate_list_writes_cpp_order ... ok
[INFO] [stdout] test packets::loot::tests::set_loot_specialization_reads_cpp_spec_id ... ok
[INFO] [stdout] test packets::loot::tests::start_loot_roll_writes_cpp_order ... ok
[INFO] [stdout] test packets::loot::tests::master_loot_item_reads_cpp_count_target_then_requests ... ok
[INFO] [stdout] test packets::misc::tests::account_mount_update_empty ... ok
[INFO] [stdout] test packets::misc::tests::account_data_times_player ... ok
[INFO] [stdout] test packets::misc::tests::account_toy_update_empty ... ok
[INFO] [stdout] test packets::misc::tests::active_glyphs_empty ... ok
[INFO] [stdout] test packets::misc::tests::aura_update_empty ... ok
[INFO] [stdout] test packets::misc::tests::available_hotfixes_empty_serializes ... ok
[INFO] [stdout] test packets::misc::tests::buy_back_item_reads_cpp_guid_and_slot ... ok
[INFO] [stdout] test packets::misc::tests::connection_status_serializes ... ok
[INFO] [stdout] test packets::misc::tests::contact_list_empty ... ok
[INFO] [stdout] test packets::misc::tests::battle_pet_journal_lock_acquired_empty ... ok
[INFO] [stdout] test packets::misc::tests::account_data_times_global ... ok
[INFO] [stdout] test packets::item::tests::equip_slot_mapping ... ok
[INFO] [stdout] test packets::item::tests::auto_equip_item_parses ... ok
[INFO] [stdout] test packets::misc::tests::buy_failed_serializes_cpp_reason_byte ... ok
[INFO] [stdout] test packets::misc::tests::feature_system_status_glue_screen_serializes ... ok
[INFO] [stdout] test packets::misc::tests::client_cache_version_serializes ... ok
[INFO] [stdout] test packets::misc::tests::all_achievement_data_empty ... ok
[INFO] [stdout] test packets::misc::tests::all_account_criteria_empty ... ok
[INFO] [stdout] test packets::misc::tests::hotfix_connect_empty ... ok
[INFO] [stdout] test packets::misc::tests::feature_system_status_serializes ... ok
[INFO] [stdout] test packets::misc::tests::init_world_states_empty ... ok
[INFO] [stdout] test packets::misc::tests::initial_setup_wotlk ... ok
[INFO] [stdout] test packets::misc::tests::bind_point_update_serializes ... ok
[INFO] [stdout] test packets::misc::tests::db_query_bulk_roundtrip ... ok
[INFO] [stdout] test packets::misc::tests::db_reply_not_found ... ok
[INFO] [stdout] test packets::misc::tests::dungeon_difficulty_set_normal ... ok
[INFO] [stdout] test packets::misc::tests::logout_cancel_ack_empty ... ok
[INFO] [stdout] test packets::misc::tests::logout_complete_empty ... ok
[INFO] [stdout] test packets::misc::tests::logout_request_read ... ok
[INFO] [stdout] test packets::misc::tests::logout_response_delayed_ok ... ok
[INFO] [stdout] test packets::misc::tests::move_set_active_mover ... ok
[INFO] [stdout] test packets::misc::tests::sell_response_serializes_cpp_count_and_reason_before_item_guids ... ok
[INFO] [stdout] test packets::misc::tests::send_known_spells_empty ... ok
[INFO] [stdout] test packets::misc::tests::send_known_spells_with_data ... ok
[INFO] [stdout] test packets::misc::tests::send_spell_history_empty ... ok
[INFO] [stdout] test packets::misc::tests::set_currency_item_refund_gain_matches_cpp_source ... ok
[INFO] [stdout] test packets::misc::tests::initialize_factions_empty ... ok
[INFO] [stdout] test packets::misc::tests::load_cuf_profiles_empty ... ok
[INFO] [stdout] test packets::misc::tests::load_equipment_set_empty ... ok
[INFO] [stdout] test packets::misc::tests::world_server_info_serializes ... ok
[INFO] [stdout] test packets::misc::tests::login_set_time_speed_now ... ok
[INFO] [stdout] test packets::misc::tests::logout_response_instant_ok ... ok
[INFO] [stdout] test packets::misc::tests::set_currency_vendor_gain_matches_cpp_source ... ok
[INFO] [stdout] test packets::misc::tests::set_currency_vendor_loss_matches_cpp_field_order ... ok
[INFO] [stdout] test packets::misc::tests::set_proficiency_armor ... ok
[INFO] [stdout] test packets::misc::tests::set_proficiency_weapon ... ok
[INFO] [stdout] test packets::misc::tests::set_spell_modifier_flat_empty ... ok
[INFO] [stdout] test packets::misc::tests::set_spell_modifier_pct_empty ... ok
[INFO] [stdout] test packets::misc::tests::set_timezone_utc ... ok
[INFO] [stdout] test packets::misc::tests::setup_currency_empty ... ok
[INFO] [stdout] test packets::misc::tests::time_sync_request_serializes ... ok
[INFO] [stdout] test packets::misc::tests::tutorial_flags_all_shown ... ok
[INFO] [stdout] test packets::misc::tests::update_action_buttons_empty ... ok
[INFO] [stdout] test packets::misc::tests::update_action_buttons_pack ... ok
[INFO] [stdout] test packets::party::tests::opt_out_of_loot_reads_cpp_pass_on_loot_bit ... ok
[INFO] [stdout] test packets::party::tests::set_loot_method_reads_cpp_bit_method_master_threshold_party_index_order ... ok
[INFO] [stdout] test packets::query::tests::query_creature_response_found ... ok
[INFO] [stdout] test packets::misc::tests::update_talent_data_empty ... ok
[INFO] [stdout] test packets::query::tests::query_creature_response_not_found ... ok
[INFO] [stdout] test packets::spell::tests::open_item_reads_cpp_slot_then_pack_slot ... ok
[INFO] [stdout] test packets::query::tests::query_player_names_response_found ... ok
[INFO] [stdout] test packets::trainer::tests::trainer_buy_failed_serializes ... ok
[INFO] [stdout] test packets::trainer::tests::trainer_list_empty_serializes ... ok
[INFO] [stdout] test packets::trainer::tests::learned_spells_single_serializes ... ok
[INFO] [stdout] test packets::query::tests::query_game_object_response_not_found ... ok
[INFO] [stdout] test packets::update::tests::creature_health_values_update_has_no_create_flags_byte_like_cpp ... ok
[INFO] [stdout] test packets::update::tests::creature_create_serializes ... ok
[INFO] [stdout] test packets::update::tests::creature_npc_flags_written_correctly ... ok
[INFO] [stdout] test packets::update::tests::create_player_non_self ... ok
[INFO] [stdout] test packets::update::tests::buyback_values_update_interleaves_price_and_timestamp_like_cpp ... ok
[INFO] [stdout] test packets::update::tests::active_player_movement_block_adds_721_bytes ... ok
[INFO] [stdout] test packets::update::tests::creature_batched_multiple ... ok
[INFO] [stdout] test packets::update::tests::creature_smaller_than_player ... ok
[INFO] [stdout] test packets::update::tests::item_create_serializes_random_properties_and_context ... ok
[INFO] [stdout] test packets::query::tests::query_game_object_response_writes_data34_and_content_tuning ... ok
[INFO] [stdout] test packets::update::tests::item_stack_count_update_serializes_item_values_delta ... ok
[INFO] [stdout] test packets::update::tests::movement_block_default_speeds ... ok
[INFO] [stdout] test packets::update::tests::player_create_data_faction ... ok
[INFO] [stdout] test packets::update::tests::power_type_mapping ... ok
[INFO] [stdout] test packets::update::tests::object_values_update_block_matches_cpp_objectdata_delta_shape ... ok
[INFO] [stdout] test packets::update::tests::update_object_destroy_and_oor ... ok
[INFO] [stdout] test world_packet::tests::bit_packing_roundtrip ... ok
[INFO] [stdout] test world_packet::tests::bit_then_byte_resets ... ok
[INFO] [stdout] test world_packet::tests::has_bit_alias ... ok
[INFO] [stdout] test packets::update::tests::update_object_out_of_range ... ok
[INFO] [stdout] test world_packet::tests::packed_guid_creature_roundtrip ... ok
[INFO] [stdout] test world_packet::tests::packed_guid_empty ... ok
[INFO] [stdout] test world_packet::tests::packed_guid_fully_populated ... ok
[INFO] [stdout] test packets::update::tests::update_object_envelope_format ... ok
[INFO] [stdout] test world_packet::tests::read_past_end_error ... ok
[INFO] [stdout] test packets::update::tests::update_object_create_player_serializes ... ok
[INFO] [stdout] test world_packet::tests::server_packet_opcode ... ok
[INFO] [stdout] test world_packet::tests::roundtrip_bytes_and_strings ... ok
[INFO] [stdout] test world_packet::tests::skip_and_remaining ... ok
[INFO] [stdout] test world_packet::tests::roundtrip_primitives ... ok
[INFO] [stdout] test world_packet::tests::write_bits_multi_byte ... ok
[INFO] [stdout] test world_packet::tests::packed_guid_player_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 184 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wow_proto-07ccca71d8bae6f9)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::service_hash_constants_are_correct ... ok
[INFO] [stdout] test tests::header_roundtrip ... ok
[INFO] [stdout] test tests::entity_id_roundtrip ... ok
[INFO] [stdout] test tests::logon_request_encode ... ok
[INFO] [stdout] test tests::client_request_with_attributes ... ok
[INFO] [stdout] test tests::connect_request_encode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 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/wow_pvp-f4cefdd801809a89)
[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/wow_recastdetour-64ab4babb49d7d4b)
[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/wow_script-b5d09010e2913b42)
[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/wow_scripts-26f15cdbbb8366ba)
[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/wow_social-4769fdff4ec27bc9)
[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/wow_spell-8ece467a6547d95d)
[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/wow_world-18c0ac2483e50296)
[INFO] [stdout] 
[INFO] [stdout] running 214 tests
[INFO] [stdout] test handlers::character::tests::extended_cost_item_turnin_plan_matches_cpp_destroy_order ... ok
[INFO] [stdout] test handlers::character::tests::display_ids_are_valid ... ok
[INFO] [stdout] test handlers::character::tests::destroy_item_count_action_matches_cpp_direct_item_branch ... ok
[INFO] [stdout] test handlers::character::tests::item_currently_looted_guard_uses_runtime_loot_generated_state ... ok
[INFO] [stdout] test handlers::character::tests::loaded_refund_metadata_matches_cpp_load_cleanup ... ok
[INFO] [stdout] test handlers::character::tests::parse_equipment_cache_empty ... ok
[INFO] [stdout] test handlers::character::tests::player_flags_ghost_suppressed_by_resurrect ... ok
[INFO] [stdout] test handlers::character::tests::player_flags_to_char_flags_ghost ... ok
[INFO] [stdout] test handlers::character::tests::player_flags_to_char_flags_resting ... ok
[INFO] [stdout] test handlers::character::tests::raw_player_flags_not_passed_directly ... ok
[INFO] [stdout] test handlers::character::tests::sell_item_amount_action_matches_cpp_amount_branch ... ok
[INFO] [stdout] test handlers::character::tests::sell_non_empty_bag_guard_matches_cpp_is_not_empty_bag ... ok
[INFO] [stdout] test handlers::character::tests::parse_equipment_cache_real_data ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_currency_preflight_matches_cpp_quantity_guards ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_destination_maps_player_container_like_cpp ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_destination_rejects_cpp_slot_over_max_bag_size ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_destination_uses_cpp_uint8_slot_conversion ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_direct_store_preflight_matches_cpp_store_branch ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_extended_cost_fails_closed_like_cpp_preflight ... ok
[INFO] [stdout] test handlers::character::tests::start_positions_are_valid ... ok
[INFO] [stdout] test handlers::character::tests::start_zones_are_valid ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_packet_quantity_uses_cpp_uint8_count_conversion ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_muid_uses_cpp_one_based_uint32_slot_conversion ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_price_clamps_count_to_cpp_max_money_amount ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_price_uses_cpp_buy_count_unit_price ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_stock_refill_matches_cpp_increment_and_full_reset ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_sold_out_filter_matches_cpp_gm_branch ... ok
[INFO] [stdout] test handlers::character::tests::vendor_player_condition_fail_closed_until_condition_mgr_exists ... ok
[INFO] [stdout] test handlers::character::tests::vendor_required_reputation_fails_closed_until_reputation_mgr_exists ... ok
[INFO] [stdout] test handlers::character::tests::vendor_item_current_count_updates_like_cpp ... ok
[INFO] [stdout] test handlers::group::tests::opt_out_of_loot_sets_pass_on_group_loot_like_cpp ... ok
[INFO] [stdout] test handlers::character::tests::vendor_condition_presence_fails_closed_until_condition_mgr_exists ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_allowed_class_filter_matches_cpp_bind_on_acquire_branch ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_currency_rows_match_cpp_basic_guards ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_faction_filter_matches_cpp_team_branch ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_item_limit_matches_cpp_cap ... ok
[INFO] [stdout] test handlers::group::tests::opt_out_of_loot_without_loaded_player_is_ignored_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::creature_generated_loot_entry_uses_item_template_addon_follow_loot_rules_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_is_looted_requires_no_money_and_no_unlooted_items_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_creature_too_far_uses_cpp_error ... ok
[INFO] [stdout] test handlers::group::tests::set_loot_method_is_represented_noop_like_this_cpp_branch ... ok
[INFO] [stdout] test handlers::character::tests::vendor_list_refundable_flag_matches_cpp_template_guard ... ok
[INFO] [stdout] test handlers::group::tests::party_update_sends_master_looter_only_for_master_loot_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_store_random_properties_are_generated_from_cpp_random_select ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_store_random_suffix_uses_cpp_property_points_seed ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_missing_gameobject_uses_cpp_release ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_uses_active_loot_view_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_missing_creature_uses_cpp_no_loot_error ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_random_context_stack_compatibility_uses_cpp_store_metadata ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_random_context_runtime_and_persistence_fields_match_entry ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_releases_blocked_item_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_releases_when_player_is_not_allowed_looter_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_releases_when_roll_winner_is_different_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_request_can_use_secondary_active_loot_object_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_item_request_uses_loot_object_to_find_active_owner_like_cpp ... ok
[INFO] [stdout] test handlers::character::tests::vendor_buy_template_gates_match_cpp_error_shapes ... ok
[INFO] [stdout] test handlers::loot::tests::loot_money_coin_removed_uses_loot_object_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_money_stale_active_without_loot_view_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_release_ignores_active_guid_without_represented_loot_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_release_ignores_guid_outside_active_view_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_remote_session_routes_vote_to_owner_session_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_release_keeps_unlooted_creature_loot_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_release_keeps_unlooted_gameobject_loot_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_money_zero_money_still_notifies_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_release_accepts_secondary_active_owner_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_money_consumes_all_active_loot_views_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_timer_expiry_finishes_current_winner_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_vote_command_updates_owner_session_roll_state_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_all_passed_unblocks_without_all_passed_to_valid_voters_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_fully_looted_existing_loot_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_without_canonical_roll_state_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_group_loot_can_only_roll_greed_removes_need_from_start_mask_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_empty_visible_loot_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_all_voted_finishes_need_winner_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_ae_loot_sends_targets_and_secondary_ack_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_creature_too_far_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_roll_need_vote_broadcasts_immediate_roll_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_dead_player_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_master_loot_notify_list_fans_out_to_allowed_looters_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_money_splits_corpse_gold_to_near_group_members_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_new_main_target_releases_existing_view_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_master_looter_candidate_list_is_first_open_only_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_response_uses_loot_owner_not_player_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_master_looter_first_open_sends_candidate_list_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_non_creature_guid_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_group_loot_first_open_starts_roll_for_blocked_item_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_group_loot_pass_on_loot_suppresses_current_prompt_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_group_loot_disenchant_mask_uses_cpp_skill_required_gate ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_group_loot_single_candidate_unblocks_under_threshold_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_live_creature_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_inventory_result_mapping_matches_cpp_errors ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_valid_target_interrupts_active_cast_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_valid_target_removes_looting_interrupt_auras_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::loot_unit_without_allowed_loot_for_player_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_ineligible_target_sends_master_other_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_target_not_allowed_for_loot_sends_master_other_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_self_target_success_marks_removed_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_non_master_loot_view_returns_silently_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_missing_target_sends_player_not_found_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_creature_money_uses_cpp_money_drop_rate ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_uses_group_master_looter_guid_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::random_enchantment_selection_uses_cpp_weighted_chances ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_remote_target_unavailable_command_reports_player_not_found_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_without_group_sends_didnt_kill_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_disenchant_loot_template_row_guards_match_cpp_shape ... ok
[INFO] [stdout] test handlers::loot::tests::represented_creature_loot_generation_carries_cpp_dungeon_encounter_id ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_self_target_can_store_maps_unique_error_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_gameobject_chest_loot_carries_cpp_source_metadata ... ok
[INFO] [stdout] test handlers::loot::tests::represented_creature_loot_captures_group_method_master_and_round_robin_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::master_loot_item_remote_target_can_store_error_is_reported_by_target_session_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_loot_response_acquire_reason_uses_cpp_loot_type_mapping ... ok
[INFO] [stdout] test handlers::loot::tests::represented_disenchant_loot_template_frame_splits_group_rows_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_ffa_loot_uses_player_ffa_items_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_loot_item_push_result_carries_cpp_encounter_loot_fields ... ok
[INFO] [stdout] test handlers::loot::tests::represented_start_loot_roll_carries_cpp_dungeon_encounter_id ... ok
[INFO] [stdout] test handlers::loot::tests::represented_unlooted_count_counts_shared_items_once_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::set_loot_specialization_without_loaded_player_is_ignored_like_cpp_status_guard ... ok
[INFO] [stdout] test handlers::loot::tests::set_loot_specialization_matches_cpp_class_validation ... ok
[INFO] [stdout] test handlers::loot::tests::represented_loot_removed_uses_players_looting_like_cpp ... ok
[INFO] [stdout] test handlers::loot::tests::represented_loot_response_items_use_cpp_ui_type_decision_tree ... ok
[INFO] [stdout] test handlers::loot::tests::represented_loot_type_for_client_matches_cpp_aliases ... ok
[INFO] [stdout] test handlers::spell::tests::add_loot_item_stacks_caps_like_cpp_max_nr_loot_items ... ok
[INFO] [stdout] test handlers::misc::tests::item_purchase_contents_skip_season_earned_currency_like_cpp ... ok
[INFO] [stdout] test handlers::spell::tests::item_loot_quest_status_custom_metadata_matches_cpp_gate ... ok
[INFO] [stdout] test handlers::spell::tests::item_money_loot_generation_matches_cpp_boundary_branches ... ok
[INFO] [stdout] test handlers::spell::tests::loot_entry_follow_rules_metadata_matches_cpp_constructor ... ok
[INFO] [stdout] test handlers::spell::tests::loot_conditions_else_group_and_negative_match_cpp ... ok
[INFO] [stdout] test handlers::spell::tests::loot_condition_compare_and_quest_state_match_cpp_values ... ok
[INFO] [stdout] test handlers::spell::tests::loot_entry_free_for_all_view_metadata_matches_cpp ... ok
[INFO] [stdout] test handlers::spell::tests::open_item_wrapped_gift_with_zero_durability_stays_zero_like_cpp ... ok
[INFO] [stdout] test handlers::spell::tests::reference_loot_template_validation_matches_cpp_basic_guards ... ok
[INFO] [stdout] test handlers::spell::tests::open_item_stored_loot_preserves_random_properties_and_context_like_cpp ... ok
[INFO] [stdout] test map_manager::tests::map_manager_uses_canonical_creature_guid_position_and_runtime ... ok
[INFO] [stdout] test map_manager::tests::test_map_manager_create_map ... ok
[INFO] [stdout] test map_manager::tests::test_creature_add_remove ... ok
[INFO] [stdout] test handlers::spell::tests::grouped_loot_template_roll_matches_cpp_explicit_then_equal_order ... ok
[INFO] [stdout] test map_manager::tests::test_add_creature_to_map ... ok
[INFO] [stdout] test handlers::spell::tests::open_item_wrapped_without_has_loot_uses_gift_row_like_cpp ... ok
[INFO] [stdout] test handlers::spell::tests::loot_rate_helpers_match_cpp_roll_inputs ... ok
[INFO] [stdout] test handlers::spell::tests::plain_item_loot_template_validation_matches_cpp_basic_guards ... ok
[INFO] [stdout] test handlers::spell::tests::stored_loot_item_persistence_skips_missing_template_and_currency_tokens_like_cpp ... ok
[INFO] [stdout] test map_manager::tests::test_duplicate_creature_rejected ... ok
[INFO] [stdout] test map_manager::tests::test_player_enter_leave ... ok
[INFO] [stdout] test map_manager::tests::test_grid_round_trip ... ok
[INFO] [stdout] test map_manager::tests::test_should_not_unload_with_player ... ok
[INFO] [stdout] test map_manager::tests::test_should_unload ... ok
[INFO] [stdout] test map_manager::tests::test_world_to_grid_coords ... ok
[INFO] [stdout] test session::tests::apply_enchantment_random_suffix_ref_uses_cpp_abs_lookup ... ok
[INFO] [stdout] test session::tests::char_db_and_realm_id ... ok
[INFO] [stdout] test map_manager::tests::test_world_to_grid_negative ... ok
[INFO] [stdout] test map_manager::tests::test_visible_creatures ... ok
[INFO] [stdout] test session::tests::corpse_despawn_syncs_canonical_corpse_timer ... ok
[INFO] [stdout] test session::tests::attack_stop_resets_canonical_combat_state ... ok
[INFO] [stdout] test map_manager::tests::test_world_to_grid_positive ... ok
[INFO] [stdout] test session::tests::active_loot_guid_tracks_cpp_loot_target_guid_comparisons ... ok
[INFO] [stdout] test session::tests::combat_tick_damage_syncs_canonical_creature_health ... ok
[INFO] [stdout] test session::tests::death_sync_preserves_existing_canonical_death_time_ms ... ok
[INFO] [stdout] test session::tests::direct_destroy_uses_cpp_can_unequip_gate_for_equipment_and_bags ... ok
[INFO] [stdout] test session::tests::dispatch_metadata_matches_cpp_for_touched_opcodes ... ok
[INFO] [stdout] test session::tests::inventory_item_object_uses_template_durability_and_runtime_fields ... ok
[INFO] [stdout] test session::tests::disconnected_channel_sets_disconnecting ... ok
[INFO] [stdout] test session::tests::item_storage_template_combines_basic_and_sparse_data_like_cpp ... ok
[INFO] [stdout] test session::tests::item_modified_appearance_helpers_use_cpp_lookup_shapes ... ok
[INFO] [stdout] test session::tests::item_template_flags_use_item_sparse_flags_like_cpp ... ok
[INFO] [stdout] test session::tests::legit_characters_management ... ok
[INFO] [stdout] test session::tests::item_buy_and_sell_price_follow_contrasted_cpp_standard_price_shape ... ok
[INFO] [stdout] test session::tests::item_template_lock_id_uses_item_sparse_lock_id_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_missing_bag_or_empty_slot_is_missing ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_resolves_nested_carried_bag_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_excludes_buyback_top_level_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_resolves_nested_reagent_bag_like_cpp ... ok
[INFO] [stdout] test session::tests::moved_bag_detects_active_child_item_loot_like_cpp_swap_item ... ok
[INFO] [stdout] test session::tests::loot_money_consumes_only_current_active_loot_like_cpp ... ok
[INFO] [stdout] test session::tests::direct_inventory_store_plan_respects_cpp_explicit_empty_slot ... ok
[INFO] [stdout] test session::tests::dispatch_table_has_no_duplicate_registered_opcodes ... ok
[INFO] [stdout] test session::tests::direct_inventory_store_plan_uses_cpp_can_store_merge_then_empty_order ... ok
[INFO] [stdout] test session::tests::direct_inventory_store_plan_respects_cpp_explicit_stack_before_other_merge ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_resolves_nested_bank_bag_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_locked_container_returns_item_locked_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_nested_item_preserves_top_level_bag_slot_and_inner_slot ... ok
[INFO] [stdout] test session::tests::open_item_missing_runtime_object_fails_closed_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_nested_bank_bag_has_loot_opens_without_internal_bag_error ... ok
[INFO] [stdout] test session::tests::open_item_get_inventory_item_by_pos_resolves_top_level_like_cpp ... ok
[INFO] [stdout] test session::tests::kick_sets_disconnecting ... ok
[INFO] [stdout] test session::tests::object_accessor_sync_exposes_session_inventory_items_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_wrapped_gift_row_helper_updates_runtime_and_top_level_metadata_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_unlocked_locked_template_continues_like_cpp ... ok
[INFO] [stdout] test session::tests::player_currency_helpers_match_cpp_storage_lookup ... ok
[INFO] [stdout] test session::tests::open_item_unknown_lock_id_returns_item_locked_like_cpp ... ok
[INFO] [stdout] test session::tests::send_buy_and_sell_error_mirror_cpp_empty_vendor_fallback ... ok
[INFO] [stdout] test session::tests::open_item_wrapped_locked_template_returns_item_locked_like_cpp ... ok
[INFO] [stdout] test session::tests::player_currency_item_refund_ignores_caps_and_total_counters_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_nested_reagent_bag_has_loot_opens_without_internal_bag_error ... ok
[INFO] [stdout] test session::tests::open_item_nested_has_loot_opens_without_internal_bag_error ... ok
[INFO] [stdout] test session::tests::open_item_release_destroy_nested_item_leaves_container_in_place ... ok
[INFO] [stdout] test session::tests::player_currency_remove_and_save_state_match_cpp ... ok
[INFO] [stdout] test session::tests::open_item_wrapped_without_has_loot_does_not_generate_loot_like_cpp ... ok
[INFO] [stdout] test session::tests::open_item_release_destroy_nested_bank_bag_item_leaves_container_in_place ... ok
[INFO] [stdout] test session::tests::player_currency_vendor_add_caps_and_marks_state_like_cpp ... ok
[INFO] [stdout] test session::tests::send_item_enchant_time_update_plan_sends_cpp_packet ... ok
[INFO] [stdout] test session::tests::send_equip_error_preserves_cpp_item_level_and_limit_fields ... ok
[INFO] [stdout] test session::tests::send_item_time_update_plan_sends_cpp_packet ... ok
[INFO] [stdout] test session::tests::send_new_item_plan_maps_entity_fields_to_item_push_result_like_cpp ... ok
[INFO] [stdout] test session::tests::send_new_item_plan_direct_sends_item_push_result_to_session ... ok
[INFO] [stdout] test session::tests::send_packet_works ... ok
[INFO] [stdout] test session::tests::spell_damage_syncs_canonical_creature_health ... ok
[INFO] [stdout] test session::tests::session_starts_authed ... ok
[INFO] [stdout] test session::tests::send_new_item_plan_group_broadcasts_to_group_members_including_self ... ok
[INFO] [stdout] test session::tests::spell_item_enchantment_helpers_use_cpp_store_fields ... ok
[INFO] [stdout] test session::tests::state_transitions ... ok
[INFO] [stdout] test session::tests::update_empty_queue ... ok
[INFO] [stdout] test session::tests::update_processes_packets ... ok
[INFO] [stdout] test handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world ... FAILED
[INFO] [stdout] test session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world' (913) panicked at crates/wow-world/src/handlers/character.rs:7803:9:
[INFO] [stdout] assertion failed: session.loot_table.contains_key(&loot_guid)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e293c110a7a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e293c110a7a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e293c110a7a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e293c110a7a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e293c127e9a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e293c127e9a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e293c1158b2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e293c1158b2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e293c0eed8f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e293c0eed8f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e293c108809 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e293bd3f02c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e293bd3f02c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e293c108a82 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e293c108a82 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e293c0eee7a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e293c0e3f79 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e293c0efd1d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e293c12868c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e293c128652 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e293bbca43b - wow_world[159da6534f0515eb]::handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/handlers/character.rs:7803:9
[INFO] [stdout]   21:     0x5e293bcdfe62 - <core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5e293bcdfedd - <core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5e293bc6365d - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]   24:     0x5e293bc6355b - tokio[df10b40282b3883a]::task::coop::with_budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x5e293bc6355b - tokio[df10b40282b3883a]::task::coop::budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x5e293bc6355b - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   27:     0x5e293bc59590 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Context>::enter::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   28:     0x5e293bc621bd - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   29:     0x5e293bc614b4 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   30:     0x5e293bc58eeb - <tokio[df10b40282b3883a]::runtime::context::scoped::Scoped<tokio[df10b40282b3883a]::runtime::scheduler::Context>>::set::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5e293bbc6fb9 - tokio[df10b40282b3883a]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x5e293bd06c12 - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[df10b40282b3883a]::runtime::context::Context>>::try_with::<tokio[df10b40282b3883a]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   33:     0x5e293bd0679e - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[df10b40282b3883a]::runtime::context::Context>>::with::<tokio[df10b40282b3883a]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   34:     0x5e293bbc31bd - tokio[df10b40282b3883a]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x5e293bc5b6d0 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   36:     0x5e293bc5b9c6 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   37:     0x5e293bc5fc40 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x5e293bc01393 - tokio[df10b40282b3883a]::runtime::context::runtime::enter_runtime::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5e293bc590c1 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x5e293bce1f44 - <tokio[df10b40282b3883a]::runtime::runtime::Runtime>::block_on_inner::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   41:     0x5e293bce210f - <tokio[df10b40282b3883a]::runtime::runtime::Runtime>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   42:     0x5e293bbd2a61 - wow_world[159da6534f0515eb]::handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/handlers/character.rs:7803:61
[INFO] [stdout]   43:     0x5e293bbc84a7 - wow_world[159da6534f0515eb]::handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/handlers/character.rs:7731:76
[INFO] [stdout]   44:     0x5e293bb1e186 - <wow_world[159da6534f0515eb]::handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5e293bd3230b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5e293bd3230b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   47:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   48:     0x5e293bd3fafb - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   49:     0x5e293bd3fafb - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5e293bd3fafb - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5e293bd3fafb - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   53:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   54:     0x5e293bd39214 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   55:     0x5e293bd39214 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5e293bd42702 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   57:     0x5e293bd42702 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   58:     0x5e293bd42702 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5e293bd42702 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5e293bd42702 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5e293bd42702 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   62:     0x5e293bd42702 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5e293c11018f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   64:     0x5e293c11018f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   65:     0x710940ac1aa4 - <unknown>
[INFO] [stdout]   66:     0x710940b4ea64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player' (1070) panicked at crates/wow-world/src/session.rs:7471:9:
[INFO] [stdout] assertion failed: session.loot_table.contains_key(&loot_guid)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e293c110a7a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e293c110a7a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e293c110a7a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e293c110a7a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e293c127e9a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e293c127e9a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e293c1158b2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e293c1158b2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e293c0eed8f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e293c0eed8f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e293c108809 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e293bd3f02c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e293bd3f02c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e293c108a82 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e293c108a82 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e293c0eee7a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e293c0e3f79 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e293c0efd1d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e293c12868c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e293c128652 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e293bc6b6a4 - wow_world[159da6534f0515eb]::session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/session.rs:7471:9
[INFO] [stdout]   21:     0x5e293bcdfe62 - <core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5e293bcdfedd - <core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5e293bc6365d - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]   24:     0x5e293bc6355b - tokio[df10b40282b3883a]::task::coop::with_budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x5e293bc6355b - tokio[df10b40282b3883a]::task::coop::budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x5e293bc6355b - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   27:     0x5e293bc59590 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Context>::enter::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   28:     0x5e293bc621bd - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   29:     0x5e293bc614b4 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   30:     0x5e293bc58eeb - <tokio[df10b40282b3883a]::runtime::context::scoped::Scoped<tokio[df10b40282b3883a]::runtime::scheduler::Context>>::set::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5e293bbc6fb9 - tokio[df10b40282b3883a]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x5e293bd06c12 - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[df10b40282b3883a]::runtime::context::Context>>::try_with::<tokio[df10b40282b3883a]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   33:     0x5e293bd0679e - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[df10b40282b3883a]::runtime::context::Context>>::with::<tokio[df10b40282b3883a]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   34:     0x5e293bbc31bd - tokio[df10b40282b3883a]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x5e293bc5b6d0 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   36:     0x5e293bc5b9c6 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   37:     0x5e293bc5fc40 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x5e293bc01393 - tokio[df10b40282b3883a]::runtime::context::runtime::enter_runtime::<<tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5e293bc590c1 - <tokio[df10b40282b3883a]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x5e293bce1f44 - <tokio[df10b40282b3883a]::runtime::runtime::Runtime>::block_on_inner::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   41:     0x5e293bce210f - <tokio[df10b40282b3883a]::runtime::runtime::Runtime>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   42:     0x5e293bc802c1 - wow_world[159da6534f0515eb]::session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/session.rs:7471:61
[INFO] [stdout]   43:     0x5e293bc64827 - wow_world[159da6534f0515eb]::session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/wow-world/src/session.rs:7421:84
[INFO] [stdout]   44:     0x5e293bb1bdc6 - <wow_world[159da6534f0515eb]::session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5e293bd3230b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5e293bd3230b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   47:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   48:     0x5e293bd3fafb - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   49:     0x5e293bd3fafb - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5e293bd3fafb - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5e293bd3fafb - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   53:     0x5e293bd3fafb - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   54:     0x5e293bd39214 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   55:     0x5e293bd39214 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5e293bd42702 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   57:     0x5e293bd42702 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   58:     0x5e293bd42702 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5e293bd42702 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5e293bd42702 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5e293bd42702 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   62:     0x5e293bd42702 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5e293c11018f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   64:     0x5e293c11018f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   65:     0x710940ac1aa4 - <unknown>
[INFO] [stdout]   66:     0x710940b4ea64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     handlers::character::tests::logout_releases_active_loot_views_like_cpp_remove_from_world
[INFO] [stdout]     session::tests::disconnect_cleanup_releases_active_loot_views_like_cpp_logout_player
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 212 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p wow-world --lib`
[INFO] running `Command { std: "docker" "inspect" "967f538cacd6499014fd64bc1f78a7b41dcc6195cb64dc0ccaeb0702f3755c44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "967f538cacd6499014fd64bc1f78a7b41dcc6195cb64dc0ccaeb0702f3755c44", kill_on_drop: false }`
[INFO] [stdout] 967f538cacd6499014fd64bc1f78a7b41dcc6195cb64dc0ccaeb0702f3755c44
