[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 try#b152f5575a2ac7126ae0019e4e679abe9399213e for pr-157841
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDunnoConz%2Froblox-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DunnoConz/roblox-rs on toolchain b152f5575a2ac7126ae0019e4e679abe9399213e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "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" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: workspace.features
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mlua-sys v0.6.7
[INFO] [stderr]   Downloaded inkwell_internals v0.8.0
[INFO] [stderr]   Downloaded llvm-sys v150.2.1
[INFO] [stderr]   Downloaded mlua v0.10.3
[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 luau0-src v0.12.3+luau663
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703
[INFO] running `Command { std: "docker" "start" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703" "/opt/rustwide/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703" "/opt/rustwide/cargo-home/bin/cargo" "+b152f5575a2ac7126ae0019e4e679abe9399213e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: workspace.features
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]     Checking unicode-ident v1.0.18
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling cc v1.2.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking quote v1.0.40
[INFO] [stderr]     Checking toml_write v0.1.1
[INFO] [stderr]     Checking syn v2.0.101
[INFO] [stderr]     Checking hecs v0.10.5
[INFO] [stderr]     Checking winnow v0.7.8
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]    Compiling luau0-src v0.12.3+luau663
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]    Compiling mlua-sys v0.6.7
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[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] 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[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]    |                                  ^^^^^^^^^^^^^^^^ no `SystemParamFetch` in `system`
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 10 - use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout] 10 + use crate::system::{SystemParam, SystemParam};
[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[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]    |                                  ^^^^^^^^^^^^^^^^ no `SystemParamFetch` in `system`
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 10 - use crate::system::{SystemParam, SystemParamFetch};
[INFO] [stdout] 10 + use crate::system::{SystemParam, SystemParam};
[INFO] [stdout]    |
[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 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: `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] 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[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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] 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[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[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[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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[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]   --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Events<T>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Resource for String {}
[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[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-790fa303c1e7ed9e.long-type-5457330409433394520.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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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[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] For more information about this error, try `rustc --explain E0432`.
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[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] [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[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]   --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]    |
[INFO] [stdout]   ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Resource for String {}
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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[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[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:4
[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] 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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:11
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:4
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:11
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:4
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:11
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:4
[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/b152f5575a2ac7126ae0019e4e679abe9399213e/library/core/src/slice/mod.rs:2592:11
[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[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: `hecs::query::FetchRead<query::tests::query_entities::Position>` does not 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]     | ^^^^^^^^^^^^^^^^^^^^^^^ `hecs::query::FetchRead<query::tests::query_entities::Position>` is defined in another crate
[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] 
[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: `hecs::query::FetchRead<query::tests::query_entities::Velocity>` does not 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]     | ^^^^^^^^^^^^^^^^^^^^^^^ `hecs::query::FetchRead<query::tests::query_entities::Velocity>` is defined in another crate
[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] 
[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] [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] [stderr] error: could not compile `roblox-rs-ecs` (lib) due to 19 previous errors; 16 warnings emitted
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/system.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         impl Resource for TestResource {}
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/system.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         impl Resource for TestResource {}
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/system.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         impl Resource for TestResource {}
[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]    --> roblox-rs-ecs/src/event.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl<T: Event> Resource for Events<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `event::Events<T>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: roblox-rs-ecs/src/resource.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Resource for String {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ `String`
[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 42 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703", kill_on_drop: false }`
[INFO] [stdout] 5c669893267dd188b6d241cc4ccb913fa40ed4109626f9c49ca8524e53bbd703
