[INFO] cloning repository https://github.com/DunnoConz/roblox-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DunnoConz/roblox-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDunnoConz%2Froblox-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDunnoConz%2Froblox-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99d308b7016b4a0c01a932b1e0926e7a32603415
[INFO] checking DunnoConz/roblox-rs against master#04ff05c9c0cfbca33115c5f1b8bb20a66a54b799 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDunnoConz%2Froblox-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  60% (1637/2705)
Updating files:  61% (1651/2705)
Updating files:  62% (1678/2705)
Updating files:  63% (1705/2705)
Updating files:  64% (1732/2705)
Updating files:  65% (1759/2705)
Updating files:  66% (1786/2705)
Updating files:  67% (1813/2705)
Updating files:  68% (1840/2705)
Updating files:  69% (1867/2705)
Updating files:  70% (1894/2705)
Updating files:  71% (1921/2705)
Updating files:  72% (1948/2705)
Updating files:  73% (1975/2705)
Updating files:  74% (2002/2705)
Updating files:  75% (2029/2705)
Updating files:  76% (2056/2705)
Updating files:  77% (2083/2705)
Updating files:  78% (2110/2705)
Updating files:  79% (2137/2705)
Updating files:  80% (2164/2705)
Updating files:  81% (2192/2705)
Updating files:  82% (2219/2705)
Updating files:  83% (2246/2705)
Updating files:  84% (2273/2705)
Updating files:  85% (2300/2705)
Updating files:  86% (2327/2705)
Updating files:  87% (2354/2705)
Updating files:  88% (2381/2705)
Updating files:  89% (2408/2705)
Updating files:  90% (2435/2705)
Updating files:  91% (2462/2705)
Updating files:  92% (2489/2705)
Updating files:  93% (2516/2705)
Updating files:  94% (2543/2705)
Updating files:  95% (2570/2705)
Updating files:  96% (2597/2705)
Updating files:  97% (2624/2705)
Updating files:  98% (2651/2705)
Updating files:  99% (2678/2705)
Updating files: 100% (2705/2705)
Updating files: 100% (2705/2705), done.
[INFO] started tweaking git repo https://github.com/DunnoConz/roblox-rs
[INFO] finished tweaking git repo https://github.com/DunnoConz/roblox-rs
[INFO] tweaked toml for git repo https://github.com/DunnoConz/roblox-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DunnoConz/roblox-rs on toolchain 04ff05c9c0cfbca33115c5f1b8bb20a66a54b799
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DunnoConz/roblox-rs 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" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-2-tc1/source/Cargo.toml: unused manifest key: workspace.features
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded inkwell_internals v0.8.0
[INFO] [stderr]   Downloaded mlua-sys v0.6.7
[INFO] [stderr]   Downloaded llvm-sys v150.2.1
[INFO] [stderr]   Downloaded hecs v0.10.5
[INFO] [stderr]   Downloaded inkwell v0.2.0
[INFO] [stderr]   Downloaded roblox-rs-core v0.1.0
[INFO] [stderr]   Downloaded mlua v0.10.3
[INFO] [stderr]   Downloaded mlua v0.9.9
[INFO] [stderr]   Downloaded luau0-src v0.12.3+luau663
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55ff468ddf2cb1b667dc0fcdf312a8a19d4e9aac23bbdab693762ad83693aa03
[INFO] running `Command { std: "docker" "start" "-a" "55ff468ddf2cb1b667dc0fcdf312a8a19d4e9aac23bbdab693762ad83693aa03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55ff468ddf2cb1b667dc0fcdf312a8a19d4e9aac23bbdab693762ad83693aa03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55ff468ddf2cb1b667dc0fcdf312a8a19d4e9aac23bbdab693762ad83693aa03", kill_on_drop: false }`
[INFO] [stdout] 55ff468ddf2cb1b667dc0fcdf312a8a19d4e9aac23bbdab693762ad83693aa03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 367fb83af6613b24f2a12685e7c1ca53f4df10f2f22ad9b212c1ac3b138fa375
[INFO] running `Command { std: "docker" "start" "-a" "367fb83af6613b24f2a12685e7c1ca53f4df10f2f22ad9b212c1ac3b138fa375", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.features
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling luau0-src v0.12.3+luau663
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]    Compiling mlua-sys v0.6.7
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking toml_write v0.1.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking hecs v0.10.5
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling roblox-rs-ecs v0.1.0 (/opt/rustwide/workdir/roblox-rs-ecs)
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking roblox-rs-core v0.1.0 (/opt/rustwide/workdir/roblox-rs-core)
[INFO] [stderr]     Checking roblox-rs-core v0.1.0
[INFO] [stderr]     Checking roblox-rs-gui v0.1.0 (/opt/rustwide/workdir/roblox-rs-gui)
[INFO] [stdout] warning: unused imports: `ImplItem` and `ItemImpl`
[INFO] [stdout]  --> roblox-rs-core/src/ast/visitor.rs:5:69
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{visit::{self, Visit}, File, ItemFn, ItemStruct, ItemEnum, ItemImpl, ImplItem};
[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: `super::*`
[INFO] [stdout]    --> roblox-rs-core/src/luau.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::macros::*`
[INFO] [stdout]   --> roblox-rs-core/src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use crate::macros::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImplItem` and `ItemImpl`
[INFO] [stdout]  --> roblox-rs-core/src/ast/visitor.rs:5:69
[INFO] [stdout]   |
[INFO] [stdout] 5 | use syn::{visit::{self, Visit}, File, ItemFn, ItemStruct, ItemEnum, ItemImpl, ImplItem};
[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: `super::*`
[INFO] [stdout]    --> roblox-rs-core/src/luau.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::macros::*`
[INFO] [stdout]   --> roblox-rs-core/src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub use crate::macros::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> roblox-rs-core/tests/run_structure_test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `platform` is defined multiple times
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | mod platform;
[INFO] [stdout]    | ------------- previous definition of the module `platform` here
[INFO] [stdout] ...
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^ `platform` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `platform` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform as other_platform;
[INFO] [stdout]    |                  +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::system::SystemParamFetch`
[INFO] [stdout]   --> roblox-rs-ecs/src/event.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  no `SystemParamFetch` in `system`
[INFO] [stdout]    |                                  help: a similar name exists in the module: `SystemParam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `platform` is defined multiple times
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | mod platform;
[INFO] [stdout]    | ------------- previous definition of the module `platform` here
[INFO] [stdout] ...
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^ `platform` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `platform` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform as other_platform;
[INFO] [stdout]    |                  +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::roblox::Workspace`, `crate::roblox::Players`, `crate::roblox::ReplicatedStorage`, `crate::roblox::ServerStorage`, `crate::roblox::ServerScriptService`, `crate::roblox::StarterPlayer`, `crate::roblox::StarterGui`, `crate::roblox::StarterPack`
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Workspace, Players, ReplicatedStorage, ServerStorage,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `ServerStorage` in `roblox`
[INFO] [stdout]    |     |          |        |
[INFO] [stdout]    |     |          |        no `ReplicatedStorage` in `roblox`
[INFO] [stdout]    |     |          no `Players` in `roblox`
[INFO] [stdout]    |     no `Workspace` in `roblox`
[INFO] [stdout] 11 |     ServerScriptService, StarterPlayer, StarterGui, StarterPack,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `StarterPack` in `roblox`
[INFO] [stdout]    |     |                    |              |
[INFO] [stdout]    |     |                    |              no `StarterGui` in `roblox`
[INFO] [stdout]    |     |                    no `StarterPlayer` in `roblox`
[INFO] [stdout]    |     no `ServerScriptService` in `roblox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0365]: `platform` is only public within the crate, and cannot be re-exported outside
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^ re-export of crate public `platform`
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider declaring type or module `platform` with `pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::roblox::Workspace`, `crate::roblox::Players`, `crate::roblox::ReplicatedStorage`, `crate::roblox::ServerStorage`, `crate::roblox::ServerScriptService`, `crate::roblox::StarterPlayer`, `crate::roblox::StarterGui`, `crate::roblox::StarterPack`
[INFO] [stdout]   --> roblox-rs-ecs/src/prelude.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Workspace,
[INFO] [stdout]    |     ^^^^^^^^^ no `Workspace` in `roblox`
[INFO] [stdout] 35 |     Players,
[INFO] [stdout]    |     ^^^^^^^ no `Players` in `roblox`
[INFO] [stdout] 36 |     ReplicatedStorage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `ReplicatedStorage` in `roblox`
[INFO] [stdout] 37 |     ServerStorage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `ServerStorage` in `roblox`
[INFO] [stdout] 38 |     ServerScriptService,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ no `ServerScriptService` in `roblox`
[INFO] [stdout] 39 |     StarterPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `StarterPlayer` in `roblox`
[INFO] [stdout] 40 |     StarterGui,
[INFO] [stdout]    |     ^^^^^^^^^^ no `StarterGui` in `roblox`
[INFO] [stdout] 41 |     StarterPack,
[INFO] [stdout]    |     ^^^^^^^^^^^ no `StarterPack` in `roblox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     iter: hecs::QueryIter<Q>,
[INFO] [stdout]    |                          ^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 51 ~ pub struct QueryIter<'a, Q: HecsQuery> {
[INFO] [stdout] 52 ~     iter: hecs::QueryIter<'a, Q>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> roblox-rs-ecs/src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::TypeId;
[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: `std::sync::Arc`
[INFO] [stdout]  --> roblox-rs-ecs/src/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> roblox-rs-ecs/src/event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemParam`
[INFO] [stdout]   --> roblox-rs-ecs/src/event.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> roblox-rs-ecs/src/platform/native.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub use parking_lot::Mutex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `roblox-instances`
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |         #[cfg(feature = "roblox-instances")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `log`, `native`, `optimize`, `parallel`, `parking_lot`, `rayon`, `roblox`, and `sync`
[INFO] [stdout]    = help: consider adding `roblox-instances` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryBorrow`
[INFO] [stdout]  --> roblox-rs-ecs/src/query.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::{Query as HecsQuery, QueryBorrow};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> roblox-rs-ecs/src/schedule.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> roblox-rs-ecs/src/schedule.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> roblox-rs-ecs/src/system.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> roblox-rs-ecs/src/roblox.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::resource::Resource`
[INFO] [stdout]  --> roblox-rs-ecs/src/roblox.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::resource::Resource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform`
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]   --> roblox-rs-ecs/src/schedule.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 41 |     command_buffers: Vec<Commands<'static>>,
[INFO] [stdout]    |                          ^^^^^^^^--------- help: remove the unnecessary generics
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          expected 0 lifetime arguments
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]   --> roblox-rs-ecs/src/system.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Commands {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::system::SystemParamFetch`
[INFO] [stdout]   --> roblox-rs-ecs/src/event.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  no `SystemParamFetch` in `system`
[INFO] [stdout]    |                                  help: a similar name exists in the module: `SystemParam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> roblox-rs-ecs/src/app.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |         S: IntoSystem<P>,
[INFO] [stdout]    |            ^^^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 0 generic parameters
[INFO] [stdout]   --> roblox-rs-ecs/src/system.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait IntoSystem {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 55 |         S: IntoSystem<System = P>,
[INFO] [stdout]    |                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         S: IntoSystem<P>,
[INFO] [stdout]     |            ^^^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: trait defined here, with 0 generic parameters
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:27:11
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub trait IntoSystem {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 122 |         S: IntoSystem<System = P>,
[INFO] [stdout]     |                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |         self.app.add_system(system);
[INFO] [stdout]     |                  ^^^^^^^^^^ cannot infer type of the type parameter `P` declared on the method `add_system`
[INFO] [stdout]     |
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 124 |         self.app.add_system::<S, P>(system);
[INFO] [stdout]     |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: method takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:92:20
[INFO] [stdout]     |
[INFO] [stdout]  92 |         self.world.contains::<T>(self.hecs_entity)
[INFO] [stdout]     |                    ^^^^^^^^----- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here, with 0 generic parameters
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/world.rs:352:12
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn contains(&self, entity: Entity) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: ComponentRef<'_>` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:99:42
[INFO] [stdout]     |
[INFO] [stdout]  99 |         match self.world.get_unchecked::<T>(self.hecs_entity) {
[INFO] [stdout]     |                          -------------   ^ the trait `ComponentRef<'_>` is not implemented for `T`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `hecs::World::get_unchecked`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/world.rs:829:40
[INFO] [stdout]     |
[INFO] [stdout] 829 |     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ required by this bound in `World::get_unchecked`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `ComponentRef`
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component + hecs::ComponentRef<'_>>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                             ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct literal body without path
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:131:58
[INFO] [stdout]     |
[INFO] [stdout] 131 |       let damage_event = Net::defineEvent("PlayerDamaged", {
[INFO] [stdout]     |  __________________________________________________________^
[INFO] [stdout] 132 | |         player_id: "string",
[INFO] [stdout] 133 | |         damage: "number",
[INFO] [stdout] 134 | |         position: "Vector3",
[INFO] [stdout] 135 | |     });
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have forgotten to add the struct literal inside the block
[INFO] [stdout]     |
[INFO] [stdout] 131 ~     let damage_event = Net::defineEvent("PlayerDamaged", { SomeStruct {
[INFO] [stdout] 132 |         player_id: "string",
[INFO] [stdout] 133 |         damage: "number",
[INFO] [stdout] 134 |         position: "Vector3",
[INFO] [stdout] 135 ~     } });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct literal body without path
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:144:54
[INFO] [stdout]     |
[INFO] [stdout] 144 |       let heal_function = Net::defineRPC("HealPlayer", {
[INFO] [stdout]     |  ______________________________________________________^
[INFO] [stdout] 145 | |         player_id: "string",
[INFO] [stdout] 146 | |         amount: "number",
[INFO] [stdout] 147 | |     }, {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have forgotten to add the struct literal inside the block
[INFO] [stdout]     |
[INFO] [stdout] 144 ~     let heal_function = Net::defineRPC("HealPlayer", { SomeStruct {
[INFO] [stdout] 145 |         player_id: "string",
[INFO] [stdout] 146 |         amount: "number",
[INFO] [stdout] 147 ~     } }, {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct literal body without path
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |       }, {
[INFO] [stdout]     |  ________^
[INFO] [stdout] 148 | |         success: "boolean",
[INFO] [stdout] 149 | |         new_health: "number",
[INFO] [stdout] 150 | |     });
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have forgotten to add the struct literal inside the block
[INFO] [stdout]     |
[INFO] [stdout] 147 ~     }, { SomeStruct {
[INFO] [stdout] 148 |         success: "boolean",
[INFO] [stdout] 149 |         new_health: "number",
[INFO] [stdout] 150 ~     } });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct literal body without path
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 155 |           return {
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 156 | |             success: true,
[INFO] [stdout] 157 | |             new_health: 100,
[INFO] [stdout] 158 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have forgotten to add the struct literal inside the block
[INFO] [stdout]     |
[INFO] [stdout] 155 ~         return { SomeStruct {
[INFO] [stdout] 156 |             success: true,
[INFO] [stdout] 157 |             new_health: 100,
[INFO] [stdout] 158 ~         } };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ptr` found for type parameter `T` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:103:51
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                - method `as_ptr` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 103 |                 let component_ptr = component_ref.as_ptr();
[INFO] [stdout]     |                                                   ^^^^^^ method not found in `T`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `as_ptr`, perhaps you need to restrict type parameter `T` with it:
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component + zerocopy::ByteSlice>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                             +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HashMap<TypeId, String>: Resource` is not satisfied
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |         app.init_resource::<HashMap<TypeId, String>>();
[INFO] [stdout]    |             -------------   ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Resource` is not implemented for `HashMap<TypeId, String>`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Resource`:
[INFO] [stdout]              Events<T>
[INFO] [stdout]              String
[INFO] [stdout] note: required by a bound in `App::init_resource`
[INFO] [stdout]   --> roblox-rs-ecs/src/app.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn init_resource<R: Resource + Default>(&mut self) -> &mut Self {
[INFO] [stdout]    |                             ^^^^^^^^ required by this bound in `App::init_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         self.iter.next().map(|(hecs_entity, components)| {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |             (Entity::new(hecs_entity.id() as u64), components)
[INFO] [stdout]    |                          ----------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 59 |         self.iter.next().map(|(hecs_entity, components): (_, _)| {
[INFO] [stdout]    |                                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_component` found for mutable reference `&mut App` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         app.register_component::<RobloxInstanceComponent>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ method not found in `&mut App`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `sync_transforms_system` to return `()`, but it returns `Result<(), Error>`
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |         app.add_system(sync_transforms_system);
[INFO] [stdout]     |             ---------- ^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Result<(), Error>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected unit type `()`
[INFO] [stdout]                     found enum `std::result::Result<(), Error>`
[INFO] [stdout] note: required for `for<'a> fn(&'a mut world::World) -> std::result::Result<(), Error> {sync_transforms_system}` to implement `IntoSystem`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ^^^^^^^^^^     ^
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout]     = note: associated types for the current `impl` cannot be restricted in `where` clauses
[INFO] [stdout] note: required by a bound in `App::add_system`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  53 |     pub fn add_system<S, P>(&mut self, system: S) -> &mut Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout]  54 |     where
[INFO] [stdout]  55 |         S: IntoSystem<P>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^ required by this bound in `App::add_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `RobloxServices: Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |         app.insert_resource(RobloxServices::new());
[INFO] [stdout]     |             --------------- ^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Resource` is not implemented for `RobloxServices`
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct RobloxServices {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Resource`:
[INFO] [stdout]               Events<T>
[INFO] [stdout]               String
[INFO] [stdout] note: required by a bound in `App::insert_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn insert_resource<R: Resource>(&mut self, resource: R) -> &mut Self {
[INFO] [stdout]     |                               ^^^^^^^^ required by this bound in `App::insert_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_component` found for mutable reference `&mut world::World` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 |     world.add_component(entity, instance_component)?;
[INFO] [stdout]     |           ^^^^^^^^^^^^^ method not found in `&mut world::World`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `roblox_rs_core::runtime`
[INFO] [stdout]  --> roblox-rs-core/tests/runtime_helpers_test.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use roblox_rs_core::runtime::{
[INFO] [stdout]   |                     ^^^^^^^ could not find `runtime` in `roblox_rs_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `System`
[INFO] [stdout]  --> roblox-rs-ecs/src/app.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::system::{IntoSystem, System};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `roblox-rs-core` (test "runtime_helpers_test") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0596]: cannot borrow `builder` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> roblox-rs-ecs/src/entity.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let bundle = builder.build();
[INFO] [stdout]    |                      ^^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut builder = self.builder.take().expect("EntityBuilder already built");
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::roblox::Workspace`, `crate::roblox::Players`, `crate::roblox::ReplicatedStorage`, `crate::roblox::ServerStorage`, `crate::roblox::ServerScriptService`, `crate::roblox::StarterPlayer`, `crate::roblox::StarterGui`, `crate::roblox::StarterPack`
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Workspace, Players, ReplicatedStorage, ServerStorage,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `ServerStorage` in `roblox`
[INFO] [stdout]    |     |          |        |
[INFO] [stdout]    |     |          |        no `ReplicatedStorage` in `roblox`
[INFO] [stdout]    |     |          no `Players` in `roblox`
[INFO] [stdout]    |     no `Workspace` in `roblox`
[INFO] [stdout] 11 |     ServerScriptService, StarterPlayer, StarterGui, StarterPack,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `StarterPack` in `roblox`
[INFO] [stdout]    |     |                    |              |
[INFO] [stdout]    |     |                    |              no `StarterGui` in `roblox`
[INFO] [stdout]    |     |                    no `StarterPlayer` in `roblox`
[INFO] [stdout]    |     no `ServerScriptService` in `roblox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> roblox-rs-ecs/src/event.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     if let Some(mut events) = world.get_resource_mut::<Events<()>>() {
[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] error[E0365]: `platform` is only public within the crate, and cannot be re-exported outside
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^ re-export of crate public `platform`
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider declaring type or module `platform` with `pub`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::roblox::Workspace`, `crate::roblox::Players`, `crate::roblox::ReplicatedStorage`, `crate::roblox::ServerStorage`, `crate::roblox::ServerScriptService`, `crate::roblox::StarterPlayer`, `crate::roblox::StarterGui`, `crate::roblox::StarterPack`
[INFO] [stdout]   --> roblox-rs-ecs/src/prelude.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Workspace,
[INFO] [stdout]    |     ^^^^^^^^^ no `Workspace` in `roblox`
[INFO] [stdout] 35 |     Players,
[INFO] [stdout]    |     ^^^^^^^ no `Players` in `roblox`
[INFO] [stdout] 36 |     ReplicatedStorage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ no `ReplicatedStorage` in `roblox`
[INFO] [stdout] 37 |     ServerStorage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `ServerStorage` in `roblox`
[INFO] [stdout] 38 |     ServerScriptService,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ no `ServerScriptService` in `roblox`
[INFO] [stdout] 39 |     StarterPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `StarterPlayer` in `roblox`
[INFO] [stdout] 40 |     StarterGui,
[INFO] [stdout]    |     ^^^^^^^^^^ no `StarterGui` in `roblox`
[INFO] [stdout] 41 |     StarterPack,
[INFO] [stdout]    |     ^^^^^^^^^^^ no `StarterPack` in `roblox`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     iter: hecs::QueryIter<Q>,
[INFO] [stdout]    |                          ^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 51 ~ pub struct QueryIter<'a, Q: HecsQuery> {
[INFO] [stdout] 52 ~     iter: hecs::QueryIter<'a, Q>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> roblox-rs-ecs/src/app.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::TypeId;
[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: `super::*`
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> roblox-rs-ecs/src/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> roblox-rs-ecs/src/event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemParam`
[INFO] [stdout]   --> roblox-rs-ecs/src/event.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::Mutex`
[INFO] [stdout]   --> roblox-rs-ecs/src/platform/native.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub use parking_lot::Mutex;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `roblox-instances`
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |         #[cfg(feature = "roblox-instances")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `log`, `native`, `optimize`, `parallel`, `parking_lot`, `rayon`, `roblox`, and `sync`
[INFO] [stdout]    = help: consider adding `roblox-instances` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryBorrow`
[INFO] [stdout]  --> roblox-rs-ecs/src/query.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::{Query as HecsQuery, QueryBorrow};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> roblox-rs-ecs/src/schedule.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> roblox-rs-ecs/src/schedule.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Res`
[INFO] [stdout]    --> roblox-rs-ecs/src/schedule.rs:110:27
[INFO] [stdout]     |
[INFO] [stdout] 110 |     use crate::resource::{Res, ResMut, Resource};
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> roblox-rs-ecs/src/system.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> roblox-rs-ecs/src/roblox.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::resource::Resource`
[INFO] [stdout]  --> roblox-rs-ecs/src/roblox.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::resource::Resource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `platform`
[INFO] [stdout]   --> roblox-rs-ecs/src/lib.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use platform;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]   --> roblox-rs-ecs/src/schedule.rs:41:26
[INFO] [stdout]    |
[INFO] [stdout] 41 |     command_buffers: Vec<Commands<'static>>,
[INFO] [stdout]    |                          ^^^^^^^^--------- help: remove the unnecessary generics
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          expected 0 lifetime arguments
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]   --> roblox-rs-ecs/src/system.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Commands {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> roblox-rs-ecs/src/roblox.rs:91:31
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn sync_transforms_system(world: &mut World) -> Result<()> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `app::tests::app_builder::TestResource: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:160:30
[INFO] [stdout]     |
[INFO] [stdout] 160 |         fn test_system(_res: crate::resource::Res<TestResource>) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `resource::Resource` is not implemented for `app::tests::app_builder::TestResource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         struct TestResource(i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout] note: required by a bound in `Res`
[INFO] [stdout]    --> roblox-rs-ecs/src/resource.rs:21:23
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct Res<'a, T: Resource> {
[INFO] [stdout]     |                       ^^^^^^^^ required by this bound in `Res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0107, E0255, E0271, E0277, E0282, E0365, E0432, E0596...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `roblox-rs-ecs` (lib) due to 20 previous errors; 16 warnings emitted
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> roblox-rs-ecs/src/app.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |         S: IntoSystem<P>,
[INFO] [stdout]    |            ^^^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 0 generic parameters
[INFO] [stdout]   --> roblox-rs-ecs/src/system.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait IntoSystem {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]    |
[INFO] [stdout] 55 |         S: IntoSystem<System = P>,
[INFO] [stdout]    |                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |         S: IntoSystem<P>,
[INFO] [stdout]     |            ^^^^^^^^^^ expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: trait defined here, with 0 generic parameters
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:27:11
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub trait IntoSystem {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] help: replace the generic bound with the associated type
[INFO] [stdout]     |
[INFO] [stdout] 122 |         S: IntoSystem<System = P>,
[INFO] [stdout]     |                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |         self.app.add_system(system);
[INFO] [stdout]     |                  ^^^^^^^^^^ cannot infer type of the type parameter `P` declared on the method `add_system`
[INFO] [stdout]     |
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 124 |         self.app.add_system::<S, P>(system);
[INFO] [stdout]     |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `app::tests::app_builder::TestResource: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |             .insert_resource(TestResource(42))
[INFO] [stdout]     |              --------------- ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `resource::Resource` is not implemented for `app::tests::app_builder::TestResource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         struct TestResource(i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout] note: required by a bound in `app::AppBuilder::insert_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:129:31
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn insert_resource<R: Resource>(mut self, resource: R) -> Self {
[INFO] [stdout]     |                               ^^^^^^^^ required by this bound in `AppBuilder::insert_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0631]: type mismatch in function arguments
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:166:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |         fn test_system(_res: crate::resource::Res<TestResource>) {
[INFO] [stdout]     |         -------------------------------------------------------- found signature defined here
[INFO] [stdout] ...
[INFO] [stdout] 166 |             .add_system(test_system)
[INFO] [stdout]     |              ---------- ^^^^^^^^^^^ expected due to this
[INFO] [stdout]     |              |
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected function signature `for<'a> fn(&'a mut world::World) -> _`
[INFO] [stdout]                found function signature `fn(Res<'_, app::tests::app_builder::TestResource>) -> _`
[INFO] [stdout] note: required for `fn(Res<'a, TestResource>) {test_system}` to implement `system::IntoSystem`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ^^^^^^^^^^     ^
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `app::AppBuilder::add_system`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn add_system<S, P>(mut self, system: S) -> Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout] 121 |     where
[INFO] [stdout] 122 |         S: IntoSystem<P>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^ required by this bound in `AppBuilder::add_system`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/roblox_rs_ecs-b73c0047204af77c.long-type-1771265880721514068.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider wrapping the function in a closure
[INFO] [stdout]     |
[INFO] [stdout] 166 |             .add_system(|arg0: &mut world::World| test_system(/* Res<'_, app::tests::app_builder::TestResource> */))
[INFO] [stdout]     |                         +++++++++++++++++++++++++            ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `app::tests::app_builder::TestResource: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:169:44
[INFO] [stdout]     |
[INFO] [stdout] 169 |         assert!(app.world().has_resource::<TestResource>());
[INFO] [stdout]     |                             ------------   ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `resource::Resource` is not implemented for `app::tests::app_builder::TestResource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         struct TestResource(i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout] note: required by a bound in `world::World::has_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/world.rs:103:28
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn has_resource<R: Resource>(&self) -> bool {
[INFO] [stdout]     |                            ^^^^^^^^ required by this bound in `World::has_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `app::tests::app_builder::TestResource: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:170:47
[INFO] [stdout]     |
[INFO] [stdout] 170 |         assert_eq!(app.world().get_resource::<TestResource>().unwrap().0, 42);
[INFO] [stdout]     |                                ------------   ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `resource::Resource` is not implemented for `app::tests::app_builder::TestResource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         struct TestResource(i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout] note: required by a bound in `world::World::get_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/world.rs:89:28
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn get_resource<R: Resource>(&self) -> Option<&R> {
[INFO] [stdout]     |                            ^^^^^^^^ required by this bound in `World::get_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: method takes 0 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:92:20
[INFO] [stdout]     |
[INFO] [stdout]  92 |         self.world.contains::<T>(self.hecs_entity)
[INFO] [stdout]     |                    ^^^^^^^^----- help: remove the unnecessary generics
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    expected 0 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here, with 0 generic parameters
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/world.rs:352:12
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn contains(&self, entity: Entity) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: ComponentRef<'_>` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:99:42
[INFO] [stdout]     |
[INFO] [stdout]  99 |         match self.world.get_unchecked::<T>(self.hecs_entity) {
[INFO] [stdout]     |                          -------------   ^ the trait `ComponentRef<'_>` is not implemented for `T`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `hecs::World::get_unchecked`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/world.rs:829:40
[INFO] [stdout]     |
[INFO] [stdout] 829 |     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ required by this bound in `World::get_unchecked`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `ComponentRef`
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component + hecs::ComponentRef<'_>>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                             ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ptr` found for type parameter `T` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/entity.rs:103:51
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                - method `as_ptr` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 103 |                 let component_ptr = component_ref.as_ptr();
[INFO] [stdout]     |                                                   ^^^^^^ method not found in `T`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `as_ptr`, perhaps you need to restrict type parameter `T` with it:
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub fn get<T: Component + zerocopy::ByteSlice>(&self) -> Result<&'a T> {
[INFO] [stdout]     |                             +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Actors`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let player_actor = Actors::spawn(|mailbox| {
[INFO] [stdout]    |                        ^^^^^^ use of undeclared type `Actors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let player_actor = Actors::spawn(|mailbox| {
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |         while let Some(msg) = mailbox.receive() {
[INFO] [stdout]    |                               ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let player_actor = Actors::spawn(|mailbox: /* Type */| {
[INFO] [stdout]    |                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `HashMap<TypeId, String>: resource::Resource` is not satisfied
[INFO] [stdout]   --> roblox-rs-ecs/src/plugin.rs:57:29
[INFO] [stdout]    |
[INFO] [stdout] 57 |         app.init_resource::<HashMap<TypeId, String>>();
[INFO] [stdout]    |             -------------   ^^^^^^^^^^^^^^^^^^^^^^^ the trait `resource::Resource` is not implemented for `HashMap<TypeId, String>`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]              String
[INFO] [stdout]              event::Events<T>
[INFO] [stdout] note: required by a bound in `app::App::init_resource`
[INFO] [stdout]   --> roblox-rs-ecs/src/app.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn init_resource<R: Resource + Default>(&mut self) -> &mut Self {
[INFO] [stdout]    |                             ^^^^^^^^ required by this bound in `App::init_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let screen_gui = Instance::new("ScreenGui");
[INFO] [stdout]    |                      ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let frame = Instance::new("Frame");
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 94 |     frame.Size = UDim2::new(0, 300, 0, 200);
[INFO] [stdout]    |                  ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |     frame.Position = UDim2::new(0.5, -150, 0.5, -100);
[INFO] [stdout]    |                      ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color3`
[INFO] [stdout]   --> roblox-rs-core/examples/simple_game/main.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 |     frame.BackgroundColor3 = Color3::new(0.2, 0.2, 0.2);
[INFO] [stdout]    |                              ^^^^^^ use of undeclared type `Color3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let title = Instance::new("TextLabel");
[INFO] [stdout]     |                 ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:102:18
[INFO] [stdout]     |
[INFO] [stdout] 102 |     title.Size = UDim2::new(1, 0, 0, 30);
[INFO] [stdout]     |                  ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color3`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:103:24
[INFO] [stdout]     |
[INFO] [stdout] 103 |     title.TextColor3 = Color3::new(1, 1, 1);
[INFO] [stdout]     |                        ^^^^^^ use of undeclared type `Color3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let health_label = Instance::new("TextLabel");
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |     health_label.Size = UDim2::new(1, 0, 0, 30);
[INFO] [stdout]     |                         ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |     health_label.Position = UDim2::new(0, 0, 0, 40);
[INFO] [stdout]     |                             ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color3`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:111:31
[INFO] [stdout]     |
[INFO] [stdout] 111 |     health_label.TextColor3 = Color3::new(0, 1, 0);
[INFO] [stdout]     |                               ^^^^^^ use of undeclared type `Color3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:115:23
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let score_label = Instance::new("TextLabel");
[INFO] [stdout]     |                       ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |     score_label.Size = UDim2::new(1, 0, 0, 30);
[INFO] [stdout]     |                        ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UDim2`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:118:28
[INFO] [stdout]     |
[INFO] [stdout] 118 |     score_label.Position = UDim2::new(0, 0, 0, 80);
[INFO] [stdout]     |                            ^^^^^ use of undeclared type `UDim2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Color3`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:119:30
[INFO] [stdout]     |
[INFO] [stdout] 119 |     score_label.TextColor3 = Color3::new(1, 1, 0);
[INFO] [stdout]     |                              ^^^^^^ use of undeclared type `Color3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instance`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let players = Instance::getService("Players");
[INFO] [stdout]     |                   ^^^^^^^^ use of undeclared type `Instance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Net`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:131:24
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let damage_event = Net::defineEvent("PlayerDamaged", {
[INFO] [stdout]     |                        ^^^ use of undeclared type `Net`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Net`
[INFO] [stdout]    --> roblox-rs-core/examples/simple_game/main.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let heal_function = Net::defineRPC("HealPlayer", {
[INFO] [stdout]     |                         ^^^ use of undeclared type `Net`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         self.iter.next().map(|(hecs_entity, components)| {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |             (Entity::new(hecs_entity.id() as u64), components)
[INFO] [stdout]    |                          ----------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 59 |         self.iter.next().map(|(hecs_entity, components): (_, _)| {
[INFO] [stdout]    |                                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `hecs::query::FetchRead<query::tests::query_entities::Position>` with `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |         assert!(positions.contains(&&Position { x: 1.0, y: 2.0 }));
[INFO] [stdout]    |                           ^^^^^^^^ no implementation for `hecs::query::FetchRead<query::tests::query_entities::Position> == hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout] note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `roblox-rs-core` (example "simple_game") due to 25 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |         assert!(positions.contains(&&Position { x: 1.0, y: 2.0 }));
[INFO] [stdout]    |                           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&FetchRead<Position>`, found `&&Position`
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]               found reference `&&query::tests::query_entities::Position`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `hecs::query::FetchRead<query::tests::query_entities::Position>` with `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:87:27
[INFO] [stdout]    |
[INFO] [stdout] 87 |         assert!(positions.contains(&&Position { x: 5.0, y: 6.0 }));
[INFO] [stdout]    |                           ^^^^^^^^ no implementation for `hecs::query::FetchRead<query::tests::query_entities::Position> == hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout] note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:87:36
[INFO] [stdout]    |
[INFO] [stdout] 87 |         assert!(positions.contains(&&Position { x: 5.0, y: 6.0 }));
[INFO] [stdout]    |                           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&FetchRead<Position>`, found `&&Position`
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]               found reference `&&query::tests::query_entities::Position`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `hecs::query::FetchRead<query::tests::query_entities::Velocity>` with `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert!(velocities.contains(&&Velocity { x: 3.0, y: 4.0 }));
[INFO] [stdout]    |                            ^^^^^^^^ no implementation for `hecs::query::FetchRead<query::tests::query_entities::Velocity> == hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout] note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert!(velocities.contains(&&Velocity { x: 3.0, y: 4.0 }));
[INFO] [stdout]    |                            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&FetchRead<Velocity>`, found `&&Velocity`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]               found reference `&&query::tests::query_entities::Velocity`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `hecs::query::FetchRead<query::tests::query_entities::Velocity>` with `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 |         assert!(velocities.contains(&&Velocity { x: 7.0, y: 8.0 }));
[INFO] [stdout]    |                            ^^^^^^^^ no implementation for `hecs::query::FetchRead<query::tests::query_entities::Velocity> == hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout] note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> roblox-rs-ecs/src/query.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |         assert!(velocities.contains(&&Velocity { x: 7.0, y: 8.0 }));
[INFO] [stdout]    |                            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&FetchRead<Velocity>`, found `&&Velocity`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]               found reference `&&query::tests::query_entities::Velocity`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/04ff05c9c0cfbca33115c5f1b8bb20a66a54b799/library/core/src/slice/mod.rs:2583:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]    --> roblox-rs-ecs/src/query.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         assert_eq!(pos, &Position { x: 1.0, y: 2.0 });
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         hecs::query::FetchRead<query::tests::query_entities::Position>
[INFO] [stdout]     |         &query::tests::query_entities::Position
[INFO] [stdout]     |
[INFO] [stdout] note: the foreign item type `hecs::query::FetchRead<query::tests::query_entities::Position>` doesn't implement `PartialEq<&query::tests::query_entities::Position>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/query.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub struct FetchRead<T>(NonNull<T>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<&query::tests::query_entities::Position>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `hecs::query::FetchRead<query::tests::query_entities::Position>` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> roblox-rs-ecs/src/query.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |         assert_eq!(pos, &Position { x: 1.0, y: 2.0 });
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Position>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]    --> roblox-rs-ecs/src/query.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         assert_eq!(vel, &Velocity { x: 3.0, y: 4.0 });
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         hecs::query::FetchRead<query::tests::query_entities::Velocity>
[INFO] [stdout]     |         &query::tests::query_entities::Velocity
[INFO] [stdout]     |
[INFO] [stdout] note: the foreign item type `hecs::query::FetchRead<query::tests::query_entities::Velocity>` doesn't implement `PartialEq<&query::tests::query_entities::Velocity>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hecs-0.10.5/src/query.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub struct FetchRead<T>(NonNull<T>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ not implement `PartialEq<&query::tests::query_entities::Velocity>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `hecs::query::FetchRead<query::tests::query_entities::Velocity>` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> roblox-rs-ecs/src/query.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         assert_eq!(vel, &Velocity { x: 3.0, y: 4.0 });
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::fmt::Debug` is not implemented for `hecs::query::FetchRead<query::tests::query_entities::Velocity>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `into_system` exists for fn item `for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system}`, but its trait bounds were not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/schedule.rs:149:70
[INFO] [stdout]     |
[INFO] [stdout] 149 |             .add_system_to_stage(Stage::PreUpdate, pre_update_system.into_system())
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `&mut for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `<&for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<&mut for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `for<'a> fn(ResMut<'a, PreUpdateCounter>) {pre_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ----------     -
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `system::IntoSystem` defines an item `into_system`, perhaps you need to implement it
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub trait IntoSystem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `into_system` exists for fn item `for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system}`, but its trait bounds were not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/schedule.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |             .add_system(update_system.into_system())
[INFO] [stdout]     |                                       ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `&mut for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `<&for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<&mut for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `for<'a> fn(ResMut<'a, schedule::tests::Counter>) {update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ----------     -
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `system::IntoSystem` defines an item `into_system`, perhaps you need to implement it
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub trait IntoSystem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `into_system` exists for fn item `for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system}`, but its trait bounds were not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/schedule.rs:151:72
[INFO] [stdout]     |
[INFO] [stdout] 151 |             .add_system_to_stage(Stage::PostUpdate, post_update_system.into_system());
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `&mut for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]       `<&for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<&mut for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `<for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system} as FnOnce<(&mut world::World,)>>::Output = ()`
[INFO] [stdout]       `for<'a> fn(ResMut<'a, PostUpdateCounter>) {post_update_system}: FnMut<(&mut world::World,)>`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ----------     -
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `system::IntoSystem` defines an item `into_system`, perhaps you need to implement it
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:27:1
[INFO] [stdout]     |
[INFO] [stdout]  27 | pub trait IntoSystem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `u32: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:238:34
[INFO] [stdout]     |
[INFO] [stdout] 238 |         commands.insert_resource(42u32);
[INFO] [stdout]     |                  --------------- ^^^^^ the trait `resource::Resource` is not implemented for `u32`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout]               system::tests::function_system::TestResource
[INFO] [stdout] note: required by a bound in `system::Commands::insert_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:84:31
[INFO] [stdout]     |
[INFO] [stdout]  84 |     pub fn insert_resource<R: Resource>(&mut self, resource: R) {
[INFO] [stdout]     |                               ^^^^^^^^ required by this bound in `Commands::insert_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `u32: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:241:38
[INFO] [stdout]     |
[INFO] [stdout] 241 |         assert!(world.get_resource::<u32>().is_none());
[INFO] [stdout]     |                       ------------   ^^^ the trait `resource::Resource` is not implemented for `u32`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout]               system::tests::function_system::TestResource
[INFO] [stdout] note: required by a bound in `world::World::get_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/world.rs:89:28
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn get_resource<R: Resource>(&self) -> Option<&R> {
[INFO] [stdout]     |                            ^^^^^^^^ required by this bound in `World::get_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `u32: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:247:42
[INFO] [stdout]     |
[INFO] [stdout] 247 |         assert_eq!(*world.get_resource::<u32>().unwrap(), 42);
[INFO] [stdout]     |                           ------------   ^^^ the trait `resource::Resource` is not implemented for `u32`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout]               system::tests::function_system::TestResource
[INFO] [stdout] note: required by a bound in `world::World::get_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/world.rs:89:28
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn get_resource<R: Resource>(&self) -> Option<&R> {
[INFO] [stdout]     |                            ^^^^^^^^ required by this bound in `World::get_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register_component` found for mutable reference `&mut app::App` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         app.register_component::<RobloxInstanceComponent>();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ method not found in `&mut app::App`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `sync_transforms_system` to return `()`, but it returns `Result<(), Error>`
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |         app.add_system(sync_transforms_system);
[INFO] [stdout]     |             ---------- ^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Result<(), Error>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected unit type `()`
[INFO] [stdout]                     found enum `std::result::Result<(), Error>`
[INFO] [stdout] note: required for `for<'a> fn(&'a mut world::World) -> std::result::Result<(), Error> {sync_transforms_system}` to implement `system::IntoSystem`
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl<F> IntoSystem for F
[INFO] [stdout]     |         ^^^^^^^^^^     ^
[INFO] [stdout] 148 | where
[INFO] [stdout] 149 |     F: FnMut(&mut World) + Send + Sync + 'static,
[INFO] [stdout]     |        ----------------- unsatisfied trait bound introduced here
[INFO] [stdout]     = note: associated types for the current `impl` cannot be restricted in `where` clauses
[INFO] [stdout] note: required by a bound in `app::App::add_system`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  53 |     pub fn add_system<S, P>(&mut self, system: S) -> &mut Self
[INFO] [stdout]     |            ---------- required by a bound in this associated function
[INFO] [stdout]  54 |     where
[INFO] [stdout]  55 |         S: IntoSystem<P>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^ required by this bound in `App::add_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `RobloxServices: resource::Resource` is not satisfied
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |         app.insert_resource(RobloxServices::new());
[INFO] [stdout]     |             --------------- ^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `resource::Resource` is not implemented for `RobloxServices`
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct RobloxServices {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `resource::Resource`:
[INFO] [stdout]               String
[INFO] [stdout]               event::Events<T>
[INFO] [stdout] note: required by a bound in `app::App::insert_resource`
[INFO] [stdout]    --> roblox-rs-ecs/src/app.rs:62:31
[INFO] [stdout]     |
[INFO] [stdout]  62 |     pub fn insert_resource<R: Resource>(&mut self, resource: R) -> &mut Self {
[INFO] [stdout]     |                               ^^^^^^^^ required by this bound in `App::insert_resource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_component` found for mutable reference `&mut world::World` in the current scope
[INFO] [stdout]    --> roblox-rs-ecs/src/roblox.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 174 |     world.add_component(entity, instance_component)?;
[INFO] [stdout]     |           ^^^^^^^^^^^^^ method not found in `&mut world::World`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `System`
[INFO] [stdout]  --> roblox-rs-ecs/src/app.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::system::{IntoSystem, System};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `builder` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> roblox-rs-ecs/src/entity.rs:62:22
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let bundle = builder.build();
[INFO] [stdout]    |                      ^^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut builder = self.builder.take().expect("EntityBuilder already built");
[INFO] [stdout]    |             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> roblox-rs-ecs/src/event.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |     if let Some(mut events) = world.get_resource_mut::<Events<()>>() {
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> roblox-rs-ecs/src/system.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let mut res = world.get_resource_mut::<TestResource>().unwrap();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> roblox-rs-ecs/src/roblox.rs:91:31
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn sync_transforms_system(world: &mut World) -> Result<()> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0107, E0255, E0271, E0277, E0282, E0308, E0365, E0369...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `roblox-rs-ecs` (lib test) due to 43 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "367fb83af6613b24f2a12685e7c1ca53f4df10f2f22ad9b212c1ac3b138fa375", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "367fb83af6613b24f2a12685e7c1ca53f4df10f2f22ad9b212c1ac3b138fa375", kill_on_drop: false }`
[INFO] [stdout] 367fb83af6613b24f2a12685e7c1ca53f4df10f2f22ad9b212c1ac3b138fa375
