[INFO] fetching crate oxygengine-core 0.46.1...
[INFO] testing oxygengine-core-0.46.1 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate oxygengine-core 0.46.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate oxygengine-core 0.46.1
[INFO] finished tweaking crates.io crate oxygengine-core 0.46.1
[INFO] tweaked toml for crates.io crate oxygengine-core 0.46.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxygengine-core 0.46.1 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 77 packages to latest compatible versions
[INFO] [stderr]       Adding bincode v1.3.3 (available: v2.0.1)
[INFO] [stderr]       Adding intuicio-essentials v0.20.5 (available: v0.48.5)
[INFO] [stderr]       Adding toml v0.7.8 (available: v0.9.7)
[INFO] [stderr]       Adding typid v1.1.1 (available: v1.1.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 36593a0b4821fb78d1ee660bd9dbbc4044b1344c3c8d0161ceebc6c8c6906026
[INFO] running `Command { std: "docker" "start" "-a" "36593a0b4821fb78d1ee660bd9dbbc4044b1344c3c8d0161ceebc6c8c6906026", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "36593a0b4821fb78d1ee660bd9dbbc4044b1344c3c8d0161ceebc6c8c6906026", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36593a0b4821fb78d1ee660bd9dbbc4044b1344c3c8d0161ceebc6c8c6906026", kill_on_drop: false }`
[INFO] [stdout] 36593a0b4821fb78d1ee660bd9dbbc4044b1344c3c8d0161ceebc6c8c6906026
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2089f0714e80bd8547b4290b79eedd5080476b909bad221286a5c2833d250a7d
[INFO] running `Command { std: "docker" "start" "-a" "2089f0714e80bd8547b4290b79eedd5080476b909bad221286a5c2833d250a7d", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling hecs-macros v0.10.0
[INFO] [stderr]    Compiling hecs v0.10.5
[INFO] [stderr]    Compiling intuicio-derive v0.20.5
[INFO] [stderr]    Compiling snailquote v0.3.1
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling typid v1.1.1
[INFO] [stderr]    Compiling intuicio-data v0.20.5
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling intuicio-core v0.20.5
[INFO] [stderr]    Compiling intuicio-backend-vm v0.20.5
[INFO] [stderr]    Compiling intuicio-essentials v0.20.5
[INFO] [stderr]    Compiling toml v0.7.8
[INFO] [stderr]    Compiling oxygengine-core v0.46.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `*` and `*`
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout] ...
[INFO] [stdout] 68 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:486:29
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 486 - pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout] 486 + pub struct UnsafeRef<'a, T>((), &'a T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:504:29
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 504 - pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout] 504 + pub struct UnsafeMut<'a, T>((), &'a mut T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<std::string::String, typid::ID<Asset>>`
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 413 |                             let asset = &(&(*ptr).table)[path];
[INFO] [stdout]     |                                          ++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<typid::ID<Asset>, (std::string::String, Asset)>`
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 414 |                             let asset = &(&(*ptr).assets)[asset].1;
[INFO] [stdout]     |                                          ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<World> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<'_, World> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<World> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<'_, World> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<World>> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<'_, World>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<World>> {
[INFO] [stdout]     |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<'_, World>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/hierarchy.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.64s
[INFO] running `Command { std: "docker" "inspect" "2089f0714e80bd8547b4290b79eedd5080476b909bad221286a5c2833d250a7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2089f0714e80bd8547b4290b79eedd5080476b909bad221286a5c2833d250a7d", kill_on_drop: false }`
[INFO] [stdout] 2089f0714e80bd8547b4290b79eedd5080476b909bad221286a5c2833d250a7d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bcfd8bef4d667fffe155bdc2cecf9c446fbba39eef13d14ade0f4fa7ec5f4951
[INFO] running `Command { std: "docker" "start" "-a" "bcfd8bef4d667fffe155bdc2cecf9c446fbba39eef13d14ade0f4fa7ec5f4951", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `*` and `*`
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout] ...
[INFO] [stdout] 68 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:486:29
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 486 - pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout] 486 + pub struct UnsafeRef<'a, T>((), &'a T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:504:29
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 504 - pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout] 504 + pub struct UnsafeMut<'a, T>((), &'a mut T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<std::string::String, typid::ID<Asset>>`
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 413 |                             let asset = &(&(*ptr).table)[path];
[INFO] [stdout]     |                                          ++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<typid::ID<Asset>, (std::string::String, Asset)>`
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 414 |                             let asset = &(&(*ptr).assets)[asset].1;
[INFO] [stdout]     |                                          ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<World> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<'_, World> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<World> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<'_, World> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<World>> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<'_, World>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<World>> {
[INFO] [stdout]     |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<'_, World>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/hierarchy.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oxygengine-core v0.46.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `*` and `*`
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout] ...
[INFO] [stdout] 68 |             engines::{map::*, *},
[INFO] [stdout]    |                               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:486:29
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 486 - pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stdout] 486 + pub struct UnsafeRef<'a, T>((), &'a T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ecs/mod.rs:504:29
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 504 - pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stdout] 504 + pub struct UnsafeMut<'a, T>((), &'a mut T);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const database::AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<std::string::String, typid::ID<Asset>>`
[INFO] [stdout]    --> src/assets/database.rs:413:42
[INFO] [stdout]     |
[INFO] [stdout] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 413 |                             let asset = &(&(*ptr).table)[path];
[INFO] [stdout]     |                                          ++            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^---^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this raw pointer has type `*const database::AssetsDatabase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&HashMap<typid::ID<Asset>, (std::string::String, Asset)>`
[INFO] [stdout]    --> src/assets/database.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 414 |                             let asset = &(&(*ptr).assets)[asset].1;
[INFO] [stdout]     |                                          ++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<World> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     pub fn world(&self) -> RwLockReadGuard<'_, World> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<World> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<'_, World> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<World>> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<'_, World>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/mod.rs:281:26
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<World>> {
[INFO] [stdout]     |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<'_, World>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ecs/hierarchy.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn iter(&self) -> HierarchyIter<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn query(&self) -> StructQuery<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scripting.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub fn query(&self) -> FunctionQuery<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.87s
[INFO] running `Command { std: "docker" "inspect" "bcfd8bef4d667fffe155bdc2cecf9c446fbba39eef13d14ade0f4fa7ec5f4951", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcfd8bef4d667fffe155bdc2cecf9c446fbba39eef13d14ade0f4fa7ec5f4951", kill_on_drop: false }`
[INFO] [stdout] bcfd8bef4d667fffe155bdc2cecf9c446fbba39eef13d14ade0f4fa7ec5f4951
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 412ac0583e214e767b298b858255a7f294bb8f1eaf175338d6c470c96d5fa9e2
[INFO] running `Command { std: "docker" "start" "-a" "412ac0583e214e767b298b858255a7f294bb8f1eaf175338d6c470c96d5fa9e2", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `*` and `*`
[INFO] [stderr]   --> src/lib.rs:57:31
[INFO] [stderr]    |
[INFO] [stderr] 57 |             engines::{map::*, *},
[INFO] [stderr]    |                               ^
[INFO] [stderr] ...
[INFO] [stderr] 68 |             engines::{map::*, *},
[INFO] [stderr]    |                               ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ecs/mod.rs:486:29
[INFO] [stderr]     |
[INFO] [stderr] 486 | pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stderr]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stderr]     |            |
[INFO] [stderr]     |            field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 486 - pub struct UnsafeRef<'a, T>(&'a UnsafeScope, &'a T);
[INFO] [stderr] 486 + pub struct UnsafeRef<'a, T>((), &'a T);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ecs/mod.rs:504:29
[INFO] [stderr]     |
[INFO] [stderr] 504 | pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stderr]     |            ---------        ^^^^^^^^^^^^^^^
[INFO] [stderr]     |            |
[INFO] [stderr]     |            field in this struct
[INFO] [stderr]     |
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 504 - pub struct UnsafeMut<'a, T>(&'a UnsafeScope, &'a mut T);
[INFO] [stderr] 504 + pub struct UnsafeMut<'a, T>((), &'a mut T);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/assets/database.rs:413:42
[INFO] [stderr]     |
[INFO] [stderr] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stderr]     |                                    ^^---^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&HashMap<std::string::String, typid::ID<Asset>>`
[INFO] [stderr]    --> src/assets/database.rs:413:42
[INFO] [stderr]     |
[INFO] [stderr] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stderr]     |                                    ^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 413 |                             let asset = &(&(*ptr).table)[path];
[INFO] [stderr]     |                                          ++            +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/assets/database.rs:414:42
[INFO] [stderr]     |
[INFO] [stderr] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stderr]     |                                    ^^---^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this raw pointer has type `*const AssetsDatabase`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&HashMap<typid::ID<Asset>, (std::string::String, Asset)>`
[INFO] [stderr]    --> src/assets/database.rs:414:42
[INFO] [stderr]     |
[INFO] [stderr] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 414 |                             let asset = &(&(*ptr).assets)[asset].1;
[INFO] [stderr]     |                                          ++             +
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ecs/mod.rs:265:18
[INFO] [stderr]     |
[INFO] [stderr] 265 |     pub fn world(&self) -> RwLockReadGuard<World> {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 265 |     pub fn world(&self) -> RwLockReadGuard<'_, World> {
[INFO] [stderr]     |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ecs/mod.rs:271:22
[INFO] [stderr]     |
[INFO] [stderr] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<World> {
[INFO] [stderr]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 271 |     pub fn world_mut(&self) -> RwLockWriteGuard<'_, World> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ecs/mod.rs:277:22
[INFO] [stderr]     |
[INFO] [stderr] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<World>> {
[INFO] [stderr]     |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 277 |     pub fn try_world(&self) -> Option<RwLockReadGuard<'_, World>> {
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ecs/mod.rs:281:26
[INFO] [stderr]     |
[INFO] [stderr] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<World>> {
[INFO] [stderr]     |                          ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 281 |     pub fn try_world_mut(&self) -> Option<RwLockWriteGuard<'_, World>> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ecs/hierarchy.rs:124:17
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn iter(&self) -> HierarchyIter {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn iter(&self) -> HierarchyIter<'_> {
[INFO] [stderr]     |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scripting.rs:43:18
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn query(&self) -> StructQuery {
[INFO] [stderr]    |                  ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn query(&self) -> StructQuery<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scripting.rs:88:18
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn query(&self) -> FunctionQuery {
[INFO] [stderr]    |                  ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub fn query(&self) -> FunctionQuery<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/assets/database.rs:413:42
[INFO] [stderr]     |
[INFO] [stderr] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stderr]     |                                    ^^---^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this raw pointer has type `*const database::AssetsDatabase`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&HashMap<std::string::String, typid::ID<Asset>>`
[INFO] [stderr]    --> src/assets/database.rs:413:42
[INFO] [stderr]     |
[INFO] [stderr] 413 | ...                   let asset = &(*ptr).table[path];
[INFO] [stderr]     |                                    ^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 413 |                             let asset = &(&(*ptr).table)[path];
[INFO] [stderr]     |                                          ++            +
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> src/assets/database.rs:414:42
[INFO] [stderr]     |
[INFO] [stderr] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stderr]     |                                    ^^---^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      this raw pointer has type `*const database::AssetsDatabase`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&HashMap<typid::ID<Asset>, (std::string::String, Asset)>`
[INFO] [stderr]    --> src/assets/database.rs:414:42
[INFO] [stderr]     |
[INFO] [stderr] 414 | ...                   let asset = &(*ptr).assets[asset].1;
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 414 |                             let asset = &(&(*ptr).assets)[asset].1;
[INFO] [stderr]     |                                          ++             +
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: `oxygengine-core` (lib) generated 12 warnings (run `cargo fix --lib -p oxygengine-core` to apply 8 suggestions)
[INFO] [stdout] running 13 tests
[INFO] [stderr] warning: `oxygengine-core` (lib test) generated 12 warnings (10 duplicates)
[INFO] [stdout] test ecs::components::tests::test_component ... ok
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stdout] test ecs::hierarchy::tests::test_send_sync ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxygengine_core-faf0e1c741b616f7)
[INFO] [stdout] test assets::database::tests::test_database ... ok
[INFO] [stdout] test ecs::pipeline::tests::test_pipeline_builder ... ok
[INFO] [stdout] test ecs::tests::test_send_sync ... ok
[INFO] [stdout] test jobs::tests::test_jobs ... ok
[INFO] [stdout] test tests::test_localization ... ok
[INFO] [stdout] test tests::test_hierarchy_find ... ok
[INFO] [stdout] test tests::test_entity_life_cycle ... ok
[INFO] [stdout] test tests::test_logger ... ok
[INFO] [stdout] test fetch::tests::test_fetch ... ok
[INFO] [stdout] test app::tests::test_app_builder ... ok
[INFO] [stdout] test tests::test_prefabs has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "412ac0583e214e767b298b858255a7f294bb8f1eaf175338d6c470c96d5fa9e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "412ac0583e214e767b298b858255a7f294bb8f1eaf175338d6c470c96d5fa9e2", kill_on_drop: false }`
[INFO] [stdout] 412ac0583e214e767b298b858255a7f294bb8f1eaf175338d6c470c96d5fa9e2
