[INFO] cloning repository https://github.com/Arcurus/openworld-selena
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Arcurus/openworld-selena" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcurus%2Fopenworld-selena", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcurus%2Fopenworld-selena'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fab1ea2c2146a44063fbd479060956fc2b49ceff
[INFO] testing Arcurus/openworld-selena against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArcurus%2Fopenworld-selena" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Arcurus/openworld-selena
[INFO] finished tweaking git repo https://github.com/Arcurus/openworld-selena
[INFO] tweaked toml for git repo https://github.com/Arcurus/openworld-selena written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Arcurus/openworld-selena on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Arcurus/openworld-selena 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a49e63ff2dd4cbaa83ea8fdd8643e0a12f4881899f98b517ef7f442255e5e19e
[INFO] running `Command { std: "docker" "start" "-a" "a49e63ff2dd4cbaa83ea8fdd8643e0a12f4881899f98b517ef7f442255e5e19e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a49e63ff2dd4cbaa83ea8fdd8643e0a12f4881899f98b517ef7f442255e5e19e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a49e63ff2dd4cbaa83ea8fdd8643e0a12f4881899f98b517ef7f442255e5e19e", kill_on_drop: false }`
[INFO] [stdout] a49e63ff2dd4cbaa83ea8fdd8643e0a12f4881899f98b517ef7f442255e5e19e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d39282ecf3eaf423c2acc1c3a311a5d22c88f749228b773a13eb5eaceb0e9219
[INFO] running `Command { std: "docker" "start" "-a" "d39282ecf3eaf423c2acc1c3a311a5d22c88f749228b773a13eb5eaceb0e9219", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.11
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[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 hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.8
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling open_world v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2033:17
[INFO] [stdout]      |
[INFO] [stdout] 2033 |             let mut response = axum::http::Response::builder()
[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: unused import: `Read`
[INFO] [stdout]   --> src/world_data/history_persistence.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[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: `Write`
[INFO] [stdout]   --> src/world_data/history_persistence.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `avg`
[INFO] [stdout]    --> src/world_data/World.rs:220:63
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_relative_value(value: f64, min: f64, max: f64, avg: f64) -> &'static str {
[INFO] [stdout]     |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_avg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/world_data/persistence.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let mut world = World {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_name`
[INFO] [stdout]    --> src/world_data/persistence.rs:369:39
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn deserialize_world(data: &[u8], class_name: &str, version: u32) -> Result<World, String> {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_version`
[INFO] [stdout]    --> src/world_data/persistence.rs:439:66
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn read_entity(data: &[u8], pos: &mut usize, id: uuid::Uuid, entity_version: u32) -> Result<WorldEntity, String> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/world_data/entity_history.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     count: usize,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]   --> src/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let days = secs / 86400;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `day` is never read
[INFO] [stdout]    --> src/main.rs:87:19
[INFO] [stdout]     |
[INFO] [stdout]  87 |     let mut day = 1;
[INFO] [stdout]     |                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 106 |     day = remaining as i64 + 1;
[INFO] [stdout]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `day` is never read
[INFO] [stdout]    --> src/main.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut day = 1;
[INFO] [stdout]     |                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 134 |     day = remaining as i64 + 1;
[INFO] [stdout]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2499:9
[INFO] [stdout]      |
[INFO] [stdout] 2499 |     let mut content = if let Ok(c) = std::fs::read_to_string(env_path) {
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2784:9
[INFO] [stdout]      |
[INFO] [stdout] 2784 |     let mut world = if BinaryPersistence::save_exists(&save_path) {
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ui` is never read
[INFO] [stdout]    --> src/main.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct Settings {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     ui: UiSettings,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Settings` 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: field `description` is never read
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct AppWorldSettings {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 167 |     description: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppWorldSettings` 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 `provider` is never read
[INFO] [stdout]    --> src/main.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | struct LlmSettings {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 172 |     provider: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LlmSettings` 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 `title` is never read
[INFO] [stdout]    --> src/main.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | struct UiSettings {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 224 |     title: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiSettings` 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: struct `WorldResponse` is never constructed
[INFO] [stdout]    --> src/main.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | struct WorldResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldInfo` is never constructed
[INFO] [stdout]    --> src/main.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | struct WorldInfo {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveStatus` is never constructed
[INFO] [stdout]    --> src/main.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | struct SaveStatus {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]    --> src/main.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 305 | struct CreateWorldRequest {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 306 |     name: String,
[INFO] [stdout] 307 |     description: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateWorldRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldStatus` is never constructed
[INFO] [stdout]    --> src/main.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | struct WorldStatus {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_auth` is never used
[INFO] [stdout]     --> src/main.rs:2552:4
[INFO] [stdout]      |
[INFO] [stdout] 2552 | fn require_auth(state: &AppState, request: &axum::http::Request<axum::body::Body>) -> Option<Response> {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PropertyValue` is never used
[INFO] [stdout]   --> src/world_data/WorldEntity.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum PropertyValue {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_f64` and `as_i64` are never used
[INFO] [stdout]   --> src/world_data/WorldEntity.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PropertyValue {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 18 |     /// Convert to numeric value for calculations
[INFO] [stdout] 19 |     pub fn as_f64(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn as_i64(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/world_data/WorldEntity.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl WorldEntity {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn add_history(&mut self, action: &str, details: &str, outcome: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn distance_to(&self, other: &WorldEntity) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn power_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn wealth_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn mana_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn unspent_power(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn unspent_wealth(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn unspent_mana(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn hours_since_last_action(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn action_selection_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/world_data/WorldEntity.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl HistoryEntry {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 271 |     pub fn new(action: &str, details: &str, outcome: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/world_data/World.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 255 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn get_clock_entity_mut(&mut self) -> Option<&mut WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn get_clock_entity(&self) -> Option<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_entities_by_type(&self, entity_type: &str) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn get_entities_with_tags(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_entities_with_any_tag(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn search_by_name(&self, query: &str) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn entity_ids(&self) -> Vec<Uuid> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn transfer_ownership(&mut self, entity_id: &Uuid, new_owner_id: &Uuid) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |     pub fn add_path(&mut self, from_id: Uuid, to_id: Uuid, path_type: &str) -> Option<Path> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn find_path(&self, from_id: &Uuid, to_id: &Uuid) -> Option<&Path> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn get_paths_from(&self, entity_id: &Uuid) -> Vec<&Path> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn path_distance(&self, from_id: &Uuid, to_id: &Uuid) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub fn select_next_entity(&self, entity_types: Option<&[&str]>) -> Option<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     pub fn select_top_entities(&self, n: usize, entity_types: Option<&[&str]>) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/world_data/World.rs:542:12
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl Path {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 541 |     /// Create a new path
[INFO] [stdout] 542 |     pub fn new(from_id: Uuid, to_id: Uuid, path_type: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hour_range` and `is_active_time` are never used
[INFO] [stdout]   --> src/world_data/time_system.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TimeOfDay {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 21 |     /// Get the hour range for this time of day (0-23)
[INFO] [stdout] 22 |     pub fn hour_range(&self) -> (u8, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_active_time(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `activity_modifier` is never used
[INFO] [stdout]   --> src/world_data/time_system.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Season {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn activity_modifier(&self, activity: &str) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `advance`, `formatted_time`, `is_night`, and `is_daytime` are never used
[INFO] [stdout]    --> src/world_data/time_system.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl WorldTime {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn advance(&mut self, hours: u8) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn formatted_time(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn is_night(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn is_daytime(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_active_at` and `activity_multiplier` are never used
[INFO] [stdout]    --> src/world_data/time_system.rs:251:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl EntityTimePreferences {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn is_active_at(&self, time: &WorldTime) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn activity_multiplier(&self, time: &WorldTime) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_histories_for_entities` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn format_histories_for_entities(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_to_history` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn add_to_history(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recent_entries` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn get_recent_entries(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryStore` is never constructed
[INFO] [stdout]   --> src/world_data/history_persistence.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HistoryStore {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryMetadata` is never constructed
[INFO] [stdout]   --> src/world_data/history_persistence.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct HistoryMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/world_data/history_persistence.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl HistoryStore {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  50 |     /// Create a new empty history store
[INFO] [stdout]  51 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn from_entities(entities: &HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn update_metadata(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_history(&self, entity_id: &Uuid) -> Option<&Vec<HistoryEntry>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn get_history_mut(&mut self, entity_id: &Uuid) -> Option<&mut Vec<HistoryEntry>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn add_entry(&mut self, entity_id: &Uuid, entry: HistoryEntry) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn get_recent(&self, entity_id: &Uuid, count: usize) -> Vec<&HistoryEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn entities_with_history(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn load_from_file(path: &Path) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn save_to_file(&self, path: &Path) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn apply_to_entities(&self, entities: &mut HashMap<Uuid, WorldEntity>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn extract_from_entities(entities: &mut HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn stats(&self) -> HistoryStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryStats` is never constructed
[INFO] [stdout]    --> src/world_data/history_persistence.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct HistoryStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_history_for_context` is never used
[INFO] [stdout]    --> src/world_data/history_persistence.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn format_history_for_context(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_SECOND` is never used
[INFO] [stdout]  --> src/world_data/tick_time.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TICKS_PER_SECOND: f64 = 60.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_YEAR` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const TICKS_PER_YEAR: f64 = TICKS_PER_SECOND * 60.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_HOUR` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const TICKS_PER_HOUR: f64 = TICKS_PER_YEAR * 60.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_DAY` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const TICKS_PER_DAY: f64 = TICKS_PER_YEAR / 365.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_HOUR_GAME` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const TICKS_PER_HOUR_GAME: f64 = TICKS_PER_DAY / 24.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TickTime` is never constructed
[INFO] [stdout]   --> src/world_data/tick_time.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TickTime {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl TickTime {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 31 |     /// Create new tick time starting at 0
[INFO] [stdout] 32 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn from_ticks(ticks: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn update_from_real_time(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn years(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn days(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn hours(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn formatted(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.50s
[INFO] running `Command { std: "docker" "inspect" "d39282ecf3eaf423c2acc1c3a311a5d22c88f749228b773a13eb5eaceb0e9219", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d39282ecf3eaf423c2acc1c3a311a5d22c88f749228b773a13eb5eaceb0e9219", kill_on_drop: false }`
[INFO] [stdout] d39282ecf3eaf423c2acc1c3a311a5d22c88f749228b773a13eb5eaceb0e9219
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a172cea42c36d3360d9cb8a62aacfb60244560a95a0182cd677443a5d61e6aa
[INFO] running `Command { std: "docker" "start" "-a" "1a172cea42c36d3360d9cb8a62aacfb60244560a95a0182cd677443a5d61e6aa", kill_on_drop: false }`
[INFO] [stderr]    Compiling open_world v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]    --> src/world_data/history_persistence.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |     use chrono::Utc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2033:17
[INFO] [stdout]      |
[INFO] [stdout] 2033 |             let mut response = axum::http::Response::builder()
[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: unused import: `Read`
[INFO] [stdout]   --> src/world_data/history_persistence.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/world_data/history_persistence.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `avg`
[INFO] [stdout]    --> src/world_data/World.rs:220:63
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn get_relative_value(value: f64, min: f64, max: f64, avg: f64) -> &'static str {
[INFO] [stdout]     |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_avg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/world_data/persistence.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let mut world = World {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class_name`
[INFO] [stdout]    --> src/world_data/persistence.rs:369:39
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn deserialize_world(data: &[u8], class_name: &str, version: u32) -> Result<World, String> {
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_version`
[INFO] [stdout]    --> src/world_data/persistence.rs:439:66
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn read_entity(data: &[u8], pos: &mut usize, id: uuid::Uuid, entity_version: u32) -> Result<WorldEntity, String> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]   --> src/world_data/entity_history.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     count: usize,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]   --> src/main.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let days = secs / 86400;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `day` is never read
[INFO] [stdout]    --> src/main.rs:87:19
[INFO] [stdout]     |
[INFO] [stdout]  87 |     let mut day = 1;
[INFO] [stdout]     |                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 106 |     day = remaining as i64 + 1;
[INFO] [stdout]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `day` is never read
[INFO] [stdout]    --> src/main.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let mut day = 1;
[INFO] [stdout]     |                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 134 |     day = remaining as i64 + 1;
[INFO] [stdout]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2499:9
[INFO] [stdout]      |
[INFO] [stdout] 2499 |     let mut content = if let Ok(c) = std::fs::read_to_string(env_path) {
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2784:9
[INFO] [stdout]      |
[INFO] [stdout] 2784 |     let mut world = if BinaryPersistence::save_exists(&save_path) {
[INFO] [stdout]      |         ----^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ui` is never read
[INFO] [stdout]    --> src/main.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct Settings {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     ui: UiSettings,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Settings` 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: field `description` is never read
[INFO] [stdout]    --> src/main.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct AppWorldSettings {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 167 |     description: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppWorldSettings` 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 `provider` is never read
[INFO] [stdout]    --> src/main.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | struct LlmSettings {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 172 |     provider: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LlmSettings` 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 `title` is never read
[INFO] [stdout]    --> src/main.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | struct UiSettings {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 224 |     title: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiSettings` 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: struct `WorldResponse` is never constructed
[INFO] [stdout]    --> src/main.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | struct WorldResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldInfo` is never constructed
[INFO] [stdout]    --> src/main.rs:287:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | struct WorldInfo {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveStatus` is never constructed
[INFO] [stdout]    --> src/main.rs:299:8
[INFO] [stdout]     |
[INFO] [stdout] 299 | struct SaveStatus {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]    --> src/main.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 305 | struct CreateWorldRequest {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 306 |     name: String,
[INFO] [stdout] 307 |     description: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CreateWorldRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorldStatus` is never constructed
[INFO] [stdout]    --> src/main.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | struct WorldStatus {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_auth` is never used
[INFO] [stdout]     --> src/main.rs:2552:4
[INFO] [stdout]      |
[INFO] [stdout] 2552 | fn require_auth(state: &AppState, request: &axum::http::Request<axum::body::Body>) -> Option<Response> {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PropertyValue` is never used
[INFO] [stdout]   --> src/world_data/WorldEntity.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum PropertyValue {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_f64` and `as_i64` are never used
[INFO] [stdout]   --> src/world_data/WorldEntity.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PropertyValue {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 18 |     /// Convert to numeric value for calculations
[INFO] [stdout] 19 |     pub fn as_f64(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn as_i64(&self) -> i64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/world_data/WorldEntity.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl WorldEntity {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn add_history(&mut self, action: &str, details: &str, outcome: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn power_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn wealth_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn mana_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn unspent_power(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn unspent_wealth(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn unspent_mana(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn hours_since_last_action(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn action_selection_score(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/world_data/World.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 255 | impl World {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn get_clock_entity_mut(&mut self) -> Option<&mut WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn get_clock_entity(&self) -> Option<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_entities_by_type(&self, entity_type: &str) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn get_entities_with_tags(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_entities_with_any_tag(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn entity_ids(&self) -> Vec<Uuid> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |     pub fn add_path(&mut self, from_id: Uuid, to_id: Uuid, path_type: &str) -> Option<Path> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn find_path(&self, from_id: &Uuid, to_id: &Uuid) -> Option<&Path> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn get_paths_from(&self, entity_id: &Uuid) -> Vec<&Path> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn path_distance(&self, from_id: &Uuid, to_id: &Uuid) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 494 |     pub fn select_next_entity(&self, entity_types: Option<&[&str]>) -> Option<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     pub fn select_top_entities(&self, n: usize, entity_types: Option<&[&str]>) -> Vec<&WorldEntity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/world_data/World.rs:542:12
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl Path {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 541 |     /// Create a new path
[INFO] [stdout] 542 |     pub fn new(from_id: Uuid, to_id: Uuid, path_type: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hour_range` and `is_active_time` are never used
[INFO] [stdout]   --> src/world_data/time_system.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TimeOfDay {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 21 |     /// Get the hour range for this time of day (0-23)
[INFO] [stdout] 22 |     pub fn hour_range(&self) -> (u8, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_active_time(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `activity_modifier` is never used
[INFO] [stdout]   --> src/world_data/time_system.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Season {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn activity_modifier(&self, activity: &str) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `formatted_time`, `is_night`, and `is_daytime` are never used
[INFO] [stdout]    --> src/world_data/time_system.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl WorldTime {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn formatted_time(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn is_night(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn is_daytime(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `activity_multiplier` is never used
[INFO] [stdout]    --> src/world_data/time_system.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl EntityTimePreferences {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn activity_multiplier(&self, time: &WorldTime) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_histories_for_entities` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn format_histories_for_entities(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_to_history` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn add_to_history(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recent_entries` is never used
[INFO] [stdout]   --> src/world_data/entity_history.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn get_recent_entries(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/world_data/history_persistence.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl HistoryStore {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn from_entities(entities: &HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn get_history_mut(&mut self, entity_id: &Uuid) -> Option<&mut Vec<HistoryEntry>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn entities_with_history(&self) -> Vec<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn load_from_file(path: &Path) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn save_to_file(&self, path: &Path) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn apply_to_entities(&self, entities: &mut HashMap<Uuid, WorldEntity>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn extract_from_entities(entities: &mut HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn stats(&self) -> HistoryStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryStats` is never constructed
[INFO] [stdout]    --> src/world_data/history_persistence.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct HistoryStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_history_for_context` is never used
[INFO] [stdout]    --> src/world_data/history_persistence.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn format_history_for_context(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_SECOND` is never used
[INFO] [stdout]  --> src/world_data/tick_time.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TICKS_PER_SECOND: f64 = 60.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_YEAR` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const TICKS_PER_YEAR: f64 = TICKS_PER_SECOND * 60.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_HOUR` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const TICKS_PER_HOUR: f64 = TICKS_PER_YEAR * 60.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_DAY` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const TICKS_PER_DAY: f64 = TICKS_PER_YEAR / 365.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TICKS_PER_HOUR_GAME` is never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const TICKS_PER_HOUR_GAME: f64 = TICKS_PER_DAY / 24.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TickTime` is never constructed
[INFO] [stdout]   --> src/world_data/tick_time.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TickTime {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/world_data/tick_time.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl TickTime {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 31 |     /// Create new tick time starting at 0
[INFO] [stdout] 32 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn from_ticks(ticks: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn update_from_real_time(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn years(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn days(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn hours(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn formatted(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.55s
[INFO] running `Command { std: "docker" "inspect" "1a172cea42c36d3360d9cb8a62aacfb60244560a95a0182cd677443a5d61e6aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a172cea42c36d3360d9cb8a62aacfb60244560a95a0182cd677443a5d61e6aa", kill_on_drop: false }`
[INFO] [stdout] 1a172cea42c36d3360d9cb8a62aacfb60244560a95a0182cd677443a5d61e6aa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d6e321c9f738208042bbe9c3be1c2d7ce144593e1b4addeb9e33753642cdca0c
[INFO] running `Command { std: "docker" "start" "-a" "d6e321c9f738208042bbe9c3be1c2d7ce144593e1b4addeb9e33753642cdca0c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]    --> src/world_data/history_persistence.rs:255:9
[INFO] [stderr]     |
[INFO] [stderr] 255 |     use chrono::Utc;
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2033:17
[INFO] [stderr]      |
[INFO] [stderr] 2033 |             let mut response = axum::http::Response::builder()
[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: unused import: `Read`
[INFO] [stderr]   --> src/world_data/history_persistence.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]   --> src/world_data/history_persistence.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::io::{Read, Write, BufReader, BufWriter};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `avg`
[INFO] [stderr]    --> src/world_data/World.rs:220:63
[INFO] [stderr]     |
[INFO] [stderr] 220 |     pub fn get_relative_value(value: f64, min: f64, max: f64, avg: f64) -> &'static str {
[INFO] [stderr]     |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_avg`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/world_data/persistence.rs:419:13
[INFO] [stderr]     |
[INFO] [stderr] 419 |         let mut world = World {
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `class_name`
[INFO] [stderr]    --> src/world_data/persistence.rs:369:39
[INFO] [stderr]     |
[INFO] [stderr] 369 |     fn deserialize_world(data: &[u8], class_name: &str, version: u32) -> Result<World, String> {
[INFO] [stderr]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entity_version`
[INFO] [stderr]    --> src/world_data/persistence.rs:439:66
[INFO] [stderr]     |
[INFO] [stderr] 439 |     fn read_entity(data: &[u8], pos: &mut usize, id: uuid::Uuid, entity_version: u32) -> Result<WorldEntity, String> {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_version`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]   --> src/world_data/entity_history.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     count: usize,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `days`
[INFO] [stderr]   --> src/main.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 |     let days = secs / 86400;
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `day` is never read
[INFO] [stderr]    --> src/main.rs:87:19
[INFO] [stderr]     |
[INFO] [stderr]  87 |     let mut day = 1;
[INFO] [stderr]     |                   ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 106 |     day = remaining as i64 + 1;
[INFO] [stderr]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `day` is never read
[INFO] [stderr]    --> src/main.rs:116:19
[INFO] [stderr]     |
[INFO] [stderr] 116 |     let mut day = 1;
[INFO] [stderr]     |                   ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 134 |     day = remaining as i64 + 1;
[INFO] [stderr]     |     -------------------------- `day` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2499:9
[INFO] [stderr]      |
[INFO] [stderr] 2499 |     let mut content = if let Ok(c) = std::fs::read_to_string(env_path) {
[INFO] [stderr]      |         ----^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2784:9
[INFO] [stderr]      |
[INFO] [stderr] 2784 |     let mut world = if BinaryPersistence::save_exists(&save_path) {
[INFO] [stderr]      |         ----^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `ui` is never read
[INFO] [stderr]    --> src/main.rs:154:5
[INFO] [stderr]     |
[INFO] [stderr] 149 | struct Settings {
[INFO] [stderr]     |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 154 |     ui: UiSettings,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Settings` 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: field `description` is never read
[INFO] [stderr]    --> src/main.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 164 | struct AppWorldSettings {
[INFO] [stderr]     |        ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 167 |     description: String,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AppWorldSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `provider` is never read
[INFO] [stderr]    --> src/main.rs:172:5
[INFO] [stderr]     |
[INFO] [stderr] 171 | struct LlmSettings {
[INFO] [stderr]     |        ----------- field in this struct
[INFO] [stderr] 172 |     provider: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LlmSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `title` is never read
[INFO] [stderr]    --> src/main.rs:224:5
[INFO] [stderr]     |
[INFO] [stderr] 223 | struct UiSettings {
[INFO] [stderr]     |        ---------- field in this struct
[INFO] [stderr] 224 |     title: String,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `UiSettings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WorldResponse` is never constructed
[INFO] [stderr]    --> src/main.rs:280:8
[INFO] [stderr]     |
[INFO] [stderr] 280 | struct WorldResponse {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WorldInfo` is never constructed
[INFO] [stderr]    --> src/main.rs:287:8
[INFO] [stderr]     |
[INFO] [stderr] 287 | struct WorldInfo {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SaveStatus` is never constructed
[INFO] [stderr]    --> src/main.rs:299:8
[INFO] [stderr]     |
[INFO] [stderr] 299 | struct SaveStatus {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `description` is never read
[INFO] [stderr]    --> src/main.rs:307:5
[INFO] [stderr]     |
[INFO] [stderr] 305 | struct CreateWorldRequest {
[INFO] [stderr]     |        ------------------ field in this struct
[INFO] [stderr] 306 |     name: String,
[INFO] [stderr] 307 |     description: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CreateWorldRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WorldStatus` is never constructed
[INFO] [stderr]    --> src/main.rs:312:8
[INFO] [stderr]     |
[INFO] [stderr] 312 | struct WorldStatus {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `require_auth` is never used
[INFO] [stderr]     --> src/main.rs:2552:4
[INFO] [stderr]      |
[INFO] [stderr] 2552 | fn require_auth(state: &AppState, request: &axum::http::Request<axum::body::Body>) -> Option<Response> {
[INFO] [stderr]      |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PropertyValue` is never used
[INFO] [stderr]   --> src/world_data/WorldEntity.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum PropertyValue {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `as_f64` and `as_i64` are never used
[INFO] [stderr]   --> src/world_data/WorldEntity.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl PropertyValue {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] 18 |     /// Convert to numeric value for calculations
[INFO] [stderr] 19 |     pub fn as_f64(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn as_i64(&self) -> i64 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/world_data/WorldEntity.rs:173:12
[INFO] [stderr]     |
[INFO] [stderr]  99 | impl WorldEntity {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 173 |     pub fn add_history(&mut self, action: &str, details: &str, outcome: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn power_score(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn wealth_score(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 206 |     pub fn mana_score(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 214 |     pub fn unspent_power(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn unspent_wealth(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub fn unspent_mana(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 238 |     pub fn hours_since_last_action(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 251 |     pub fn action_selection_score(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/world_data/World.rs:297:12
[INFO] [stderr]     |
[INFO] [stderr] 255 | impl World {
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 297 |     pub fn get_clock_entity_mut(&mut self) -> Option<&mut WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 305 |     pub fn get_clock_entity(&self) -> Option<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn get_entities_by_type(&self, entity_type: &str) -> Vec<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub fn get_entities_with_tags(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     pub fn get_entities_with_any_tag(&self, tags: &[String]) -> Vec<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 406 |     pub fn entity_ids(&self) -> Vec<Uuid> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 439 |     pub fn add_path(&mut self, from_id: Uuid, to_id: Uuid, path_type: &str) -> Option<Path> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 460 |     pub fn find_path(&self, from_id: &Uuid, to_id: &Uuid) -> Option<&Path> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 468 |     pub fn get_paths_from(&self, entity_id: &Uuid) -> Vec<&Path> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 475 |     pub fn path_distance(&self, from_id: &Uuid, to_id: &Uuid) -> Option<f64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 494 |     pub fn select_next_entity(&self, entity_types: Option<&[&str]>) -> Option<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 518 |     pub fn select_top_entities(&self, n: usize, entity_types: Option<&[&str]>) -> Vec<&WorldEntity> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/world_data/World.rs:542:12
[INFO] [stderr]     |
[INFO] [stderr] 540 | impl Path {
[INFO] [stderr]     | --------- associated function in this implementation
[INFO] [stderr] 541 |     /// Create a new path
[INFO] [stderr] 542 |     pub fn new(from_id: Uuid, to_id: Uuid, path_type: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `hour_range` and `is_active_time` are never used
[INFO] [stderr]   --> src/world_data/time_system.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl TimeOfDay {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] 21 |     /// Get the hour range for this time of day (0-23)
[INFO] [stderr] 22 |     pub fn hour_range(&self) -> (u8, u8) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn is_active_time(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `activity_modifier` is never used
[INFO] [stderr]   --> src/world_data/time_system.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl Season {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn activity_modifier(&self, activity: &str) -> f64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `formatted_time`, `is_night`, and `is_daytime` are never used
[INFO] [stderr]    --> src/world_data/time_system.rs:200:12
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl WorldTime {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn formatted_time(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 214 |     pub fn is_night(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 219 |     pub fn is_daytime(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `activity_multiplier` is never used
[INFO] [stderr]    --> src/world_data/time_system.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 241 | impl EntityTimePreferences {
[INFO] [stderr]     | -------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 264 |     pub fn activity_multiplier(&self, time: &WorldTime) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_histories_for_entities` is never used
[INFO] [stderr]   --> src/world_data/entity_history.rs:66:8
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn format_histories_for_entities(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_to_history` is never used
[INFO] [stderr]   --> src/world_data/entity_history.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub fn add_to_history(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_recent_entries` is never used
[INFO] [stderr]   --> src/world_data/entity_history.rs:91:8
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub fn get_recent_entries(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/world_data/history_persistence.rs:59:12
[INFO] [stderr]     |
[INFO] [stderr]  49 | impl HistoryStore {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  59 |     pub fn from_entities(entities: &HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     pub fn get_history_mut(&mut self, entity_id: &Uuid) -> Option<&mut Vec<HistoryEntry>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 108 |     pub fn entities_with_history(&self) -> Vec<&String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub fn load_from_file(path: &Path) -> Result<Self, String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn save_to_file(&self, path: &Path) -> Result<(), String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub fn apply_to_entities(&self, entities: &mut HashMap<Uuid, WorldEntity>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub fn extract_from_entities(entities: &mut HashMap<Uuid, WorldEntity>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn stats(&self) -> HistoryStats {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HistoryStats` is never constructed
[INFO] [stderr]    --> src/world_data/history_persistence.rs:197:12
[INFO] [stderr]     |
[INFO] [stderr] 197 | pub struct HistoryStats {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_history_for_context` is never used
[INFO] [stderr]    --> src/world_data/history_persistence.rs:204:8
[INFO] [stderr]     |
[INFO] [stderr] 204 | pub fn format_history_for_context(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TICKS_PER_SECOND` is never used
[INFO] [stderr]  --> src/world_data/tick_time.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const TICKS_PER_SECOND: f64 = 60.0;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TICKS_PER_YEAR` is never used
[INFO] [stderr]   --> src/world_data/tick_time.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const TICKS_PER_YEAR: f64 = TICKS_PER_SECOND * 60.0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TICKS_PER_HOUR` is never used
[INFO] [stderr]   --> src/world_data/tick_time.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const TICKS_PER_HOUR: f64 = TICKS_PER_YEAR * 60.0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TICKS_PER_DAY` is never used
[INFO] [stderr]   --> src/world_data/tick_time.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const TICKS_PER_DAY: f64 = TICKS_PER_YEAR / 365.0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TICKS_PER_HOUR_GAME` is never used
[INFO] [stderr]   --> src/world_data/tick_time.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const TICKS_PER_HOUR_GAME: f64 = TICKS_PER_DAY / 24.0;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TickTime` is never constructed
[INFO] [stderr]   --> src/world_data/tick_time.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct TickTime {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/world_data/tick_time.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl TickTime {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 31 |     /// Create new tick time starting at 0
[INFO] [stderr] 32 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn from_ticks(ticks: f64) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn update_from_real_time(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn years(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn days(&self) -> f64 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn hours(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub fn formatted(&self) -> String {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `open_world` (bin "open_world" test) generated 46 warnings (run `cargo fix --bin "open_world" -p open_world --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/open_world-6492c7408cf6f6ba)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test world_data::history_persistence::tests::test_get_recent ... ok
[INFO] [stdout] test world_data::time_system::tests::test_season_from_day ... ok
[INFO] [stdout] test world_data::time_system::tests::test_entity_time_preferences ... ok
[INFO] [stdout] test world_data::history_persistence::tests::test_history_store_new ... ok
[INFO] [stdout] test world_data::time_system::tests::test_time_of_day_from_hour ... ok
[INFO] [stdout] test world_data::time_system::tests::test_world_time_advance ... ok
[INFO] [stdout] test world_data::history_persistence::tests::test_add_entry ... ok
[INFO] [stdout] test world_data::world::tests::test_ownership_transfer ... ok
[INFO] [stdout] test world_data::world_entity::tests::test_distance ... ok
[INFO] [stdout] test world_data::world_entity::tests::test_properties ... ok
[INFO] [stdout] test world_data::world::tests::test_search_by_name ... ok
[INFO] [stdout] test world_data::world_entity::tests::test_create_entity ... ok
[INFO] [stdout] test world_data::world_entity::tests::test_tags ... ok
[INFO] [stdout] test world_data::world::tests::test_add_remove_entity ... FAILED
[INFO] [stdout] test world_data::world::tests::test_create_world ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- world_data::world::tests::test_add_remove_entity stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'world_data::world::tests::test_add_remove_entity' (25) panicked at src/world_data/World.rs:612:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 2
[INFO] [stdout]  right: 1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64ba0a3063fa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64ba0a3063fa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64ba0a3063fa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64ba0a3063fa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64ba0a31b41a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64ba0a31b41a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x64ba0a30ac32 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64ba0a30ac32 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64ba0a2e53ff - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64ba0a2e53ff - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64ba0a2fe8a9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64ba0a28aa7c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x64ba0a28aa7c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64ba0a2fea62 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x64ba0a2fea62 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64ba0a2e54b8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x64ba0a2dce59 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64ba0a2e61cd - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64ba0a31bb6c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64ba0a31ba23 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x64ba0a317bd8 - core[35159d6ffb30e017]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x64ba0a2782b5 - open_world[793cab8a9b60e972]::world_data::world::tests::test_add_remove_entity
[INFO] [stdout]                                at /opt/rustwide/workdir/src/world_data/World.rs:612:9
[INFO] [stdout]   22:     0x64ba0a274df7 - open_world[793cab8a9b60e972]::world_data::world::tests::test_add_remove_entity::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/world_data/World.rs:607:32
[INFO] [stdout]   23:     0x64ba0a273f96 - <open_world[793cab8a9b60e972]::world_data::world::tests::test_add_remove_entity::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64ba0a27dd5b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64ba0a27dd5b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x64ba0a28b54b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x64ba0a28b54b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x64ba0a28b54b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x64ba0a28b54b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x64ba0a285f24 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x64ba0a285f24 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x64ba0a28e152 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x64ba0a28e152 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x64ba0a28e152 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x64ba0a28e152 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x64ba0a28e152 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64ba0a28e152 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x64ba0a28e152 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64ba0a305d0f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x64ba0a305d0f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x71457cb66aa4 - <unknown>
[INFO] [stdout]   45:     0x71457cbf3a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- world_data::world::tests::test_create_world stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'world_data::world::tests::test_create_world' (26) panicked at src/world_data/World.rs:603:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 1
[INFO] [stdout]  right: 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64ba0a3063fa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64ba0a3063fa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64ba0a3063fa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64ba0a3063fa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64ba0a31b41a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64ba0a31b41a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x64ba0a30ac32 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x64ba0a30ac32 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x64ba0a2e53ff - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64ba0a2e53ff - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64ba0a2fe8a9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64ba0a28aa7c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x64ba0a28aa7c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64ba0a2fea62 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x64ba0a2fea62 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x64ba0a2e54b8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x64ba0a2dce59 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64ba0a2e61cd - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x64ba0a31bb6c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64ba0a31ba23 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x64ba0a317bd8 - core[35159d6ffb30e017]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x64ba0a277f49 - open_world[793cab8a9b60e972]::world_data::world::tests::test_create_world
[INFO] [stdout]                                at /opt/rustwide/workdir/src/world_data/World.rs:603:9
[INFO] [stdout]   22:     0x64ba0a274d97 - open_world[793cab8a9b60e972]::world_data::world::tests::test_create_world::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/world_data/World.rs:600:27
[INFO] [stdout]   23:     0x64ba0a273f16 - <open_world[793cab8a9b60e972]::world_data::world::tests::test_create_world::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64ba0a27dd5b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64ba0a27dd5b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x64ba0a28b54b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x64ba0a28b54b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x64ba0a28b54b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x64ba0a28b54b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x64ba0a28b54b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x64ba0a285f24 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x64ba0a285f24 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x64ba0a28e152 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x64ba0a28e152 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x64ba0a28e152 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x64ba0a28e152 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x64ba0a28e152 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64ba0a28e152 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x64ba0a28e152 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64ba0a305d0f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x64ba0a305d0f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x71457cb66aa4 - <unknown>
[INFO] [stdout]   45:     0x71457cbf3a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     world_data::world::tests::test_add_remove_entity
[INFO] [stdout]     world_data::world::tests::test_create_world
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 13 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin open_world`
[INFO] running `Command { std: "docker" "inspect" "d6e321c9f738208042bbe9c3be1c2d7ce144593e1b4addeb9e33753642cdca0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6e321c9f738208042bbe9c3be1c2d7ce144593e1b4addeb9e33753642cdca0c", kill_on_drop: false }`
[INFO] [stdout] d6e321c9f738208042bbe9c3be1c2d7ce144593e1b4addeb9e33753642cdca0c
