[INFO] fetching crate kaige_ecs 0.4.0...
[INFO] testing kaige_ecs-0.4.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate kaige_ecs 0.4.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate kaige_ecs 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kaige_ecs 0.4.0
[INFO] tweaked toml for crates.io crate kaige_ecs 0.4.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kaige_ecs 0.4.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 100 packages to latest compatible versions
[INFO] [stderr]       Adding bincode v1.3.3 (available: v2.0.1)
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.8.0)
[INFO] [stderr]       Adding criterion v0.3.6 (available: v0.7.0)
[INFO] [stderr]       Adding downcast-rs v1.2.1 (available: v2.0.2)
[INFO] [stderr]       Adding erased-serde v0.3.31 (available: v0.4.9)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] [stderr]       Adding parking_lot v0.11.2 (available: v0.12.5)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.18.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a95f4ba6dc1639364905c5719289db52222414c5f885e9782be08579915ee0d8
[INFO] running `Command { std: "docker" "start" "-a" "a95f4ba6dc1639364905c5719289db52222414c5f885e9782be08579915ee0d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a95f4ba6dc1639364905c5719289db52222414c5f885e9782be08579915ee0d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a95f4ba6dc1639364905c5719289db52222414c5f885e9782be08579915ee0d8", kill_on_drop: false }`
[INFO] [stdout] a95f4ba6dc1639364905c5719289db52222414c5f885e9782be08579915ee0d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9955d353f2bab0e126cad8c7bf645067497c1805383a2564623aea9fc297c4d6
[INFO] running `Command { std: "docker" "start" "-a" "9955d353f2bab0e126cad8c7bf645067497c1805383a2564623aea9fc297c4d6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling atomic_refcell v0.1.13
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling scoped-tls-hkt v0.1.5
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling kaige_codegen v0.4.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling kaige_ecs v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `type-uuid`
[INFO] [stdout]   --> src/serialize.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[cfg(feature = "type-uuid")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `codegen`, `crossbeam-channel`, `crossbeam-events`, `default`, `erased-serde`, `extended-tuple-impls`, `kaige_codegen`, `no-reexport`, `parallel`, `rayon`, `reexport`, `scoped-tls-hkt`, `serde`, `serialize`, `stdweb`, `uuid`, and `wasm-bindgen`
[INFO] [stdout]    = help: consider adding `type-uuid` 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: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:272:18
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:292:18
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConsPrepend` is never used
[INFO] [stdout]   --> src/internals/cons.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub trait ConsPrepend<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Into` is never used
[INFO] [stdout]   --> src/internals/iter/map.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Into<T> {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InsertCommand` is never constructed
[INFO] [stdout]    --> src/internals/systems/command.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct InsertCommand<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/internals/query/mod.rs:183:11
[INFO] [stdout]     |
[INFO] [stdout] 181 |         &'a mut self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 182 |         world: &StorageAccessor<'a>,
[INFO] [stdout]     |                                 -- the lifetime is named here
[INFO] [stdout] 183 |     ) -> (&mut Mutex<F>, QueryResult<'a>) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^              -- the same lifetime is named here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     ) -> (&'a mut Mutex<F>, QueryResult<'a>) {
[INFO] [stdout]     |            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/internals/storage/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]    |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/storage/mod.rs:334:26
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn get_multi_mut(&mut self) -> MultiMut {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn get_multi_mut(&mut self) -> MultiMut<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/storage/slicevec.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn iter_from(&self, start: usize) -> SliceVecIter<T> {
[INFO] [stdout]    |                      ^^^^^                   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn iter_from(&self, start: usize) -> SliceVecIter<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 234 |         _: &'q Query<V, F>,
[INFO] [stdout] 235 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 235 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 251 |     ) -> Result<StorageAccessor, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     ) -> Result<StorageAccessor<'_>, EntityAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:263:18
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn get<T: Resource>(&self) -> AtomicRef<T> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn get<T: Resource>(&self) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:213:33
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_mut<T: Resource>(&self) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_mut<T: Resource>(&self) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |     unsafe fn entry(&mut self, type_id: ResourceTypeId) -> Entry<ResourceTypeId, ResourceCell> {
[INFO] [stdout]     |                     ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 237 |     unsafe fn entry(&mut self, type_id: ResourceTypeId) -> Entry<'_, ResourceTypeId, ResourceCell> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn sync(&mut self) -> SyncResources {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn sync(&mut self) -> SyncResources<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:330:29
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn get<T: Resource>(&self) -> Option<AtomicRef<T>> {
[INFO] [stdout]     |                             ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn get<T: Resource>(&self) -> Option<AtomicRef<'_, T>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:339:33
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn get_mut<T: Resource>(&self) -> Option<AtomicRefMut<T>> {
[INFO] [stdout]     |                                 ^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn get_mut<T: Resource>(&self) -> Option<AtomicRefMut<'_, T>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:349:62
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn get_or_insert_with<T: Resource, F: FnOnce() -> T>(&mut self, f: F) -> AtomicRef<T> {
[INFO] [stdout]     |                                                              ^^^^^^^^^           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn get_or_insert_with<T: Resource, F: FnOnce() -> T>(&mut self, f: F) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 366 |         f: F,
[INFO] [stdout] 367 |     ) -> AtomicRefMut<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 367 |     ) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:382:39
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_or_insert<T: Resource>(&mut self, value: T) -> AtomicRef<T> {
[INFO] [stdout]     |                                       ^^^^^^^^^               ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_or_insert<T: Resource>(&mut self, value: T) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:388:43
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn get_mut_or_insert<T: Resource>(&mut self, value: T) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                           ^^^^^^^^^               ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn get_mut_or_insert<T: Resource>(&mut self, value: T) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:396:50
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn get_or_default<T: Resource + Default>(&mut self) -> AtomicRef<T> {
[INFO] [stdout]     |                                                  ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn get_or_default<T: Resource + Default>(&mut self) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:404:54
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn get_mut_or_default<T: Resource + Default>(&mut self) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                                      ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn get_mut_or_default<T: Resource + Default>(&mut self) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:432:36
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub fn get<T: Resource + Sync>(&self) -> Option<AtomicRef<T>> {
[INFO] [stdout]     |                                    ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub fn get<T: Resource + Sync>(&self) -> Option<AtomicRef<'_, T>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:438:40
[INFO] [stdout]     |
[INFO] [stdout] 438 |     pub fn get_mut<T: Resource + Send>(&self) -> Option<AtomicRefMut<T>> {
[INFO] [stdout]     |                                        ^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 438 |     pub fn get_mut<T: Resource + Send>(&self) -> Option<AtomicRefMut<'_, T>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError>;
[INFO] [stdout]    |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError>;
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError>;
[INFO] [stdout]    |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError>;
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 61 |     ) -> Result<StorageAccessor, EntityAccessError>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ) -> Result<StorageAccessor<'_>, EntityAccessError>;
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:391:18
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn entry(&mut self, entity: Entity) -> Option<Entry> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn entry(&mut self, entity: Entity) -> Option<Entry<'_>> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 399 |         entity: Entity,
[INFO] [stdout] 400 |     ) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 400 |     ) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:594:31
[INFO] [stdout]     |
[INFO] [stdout] 594 |     pub fn split<T: IntoView>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |                               ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              the same lifetime is hidden here
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 594 |     pub fn split<T: IntoView>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                                                      ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:610:9
[INFO] [stdout]     |
[INFO] [stdout] 610 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 611 |         _: &'q Query<V, F>,
[INFO] [stdout] 612 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 612 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:930:18
[INFO] [stdout]     |
[INFO] [stdout] 930 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 944 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:950:9
[INFO] [stdout]     |
[INFO] [stdout] 950 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 951 |     ) -> Result<StorageAccessor, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 951 |     ) -> Result<StorageAccessor<'_>, EntityAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.07s
[INFO] running `Command { std: "docker" "inspect" "9955d353f2bab0e126cad8c7bf645067497c1805383a2564623aea9fc297c4d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9955d353f2bab0e126cad8c7bf645067497c1805383a2564623aea9fc297c4d6", kill_on_drop: false }`
[INFO] [stdout] 9955d353f2bab0e126cad8c7bf645067497c1805383a2564623aea9fc297c4d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53d73e2f5aa02f36be2ceef6ebf814b07525e5a2b08e1fece528047c17d4518a
[INFO] running `Command { std: "docker" "start" "-a" "53d73e2f5aa02f36be2ceef6ebf814b07525e5a2b08e1fece528047c17d4518a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling half v1.8.3
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling approx v0.4.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling erased-serde v0.3.31
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling kaige_ecs v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `type-uuid`
[INFO] [stdout]   --> src/serialize.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[cfg(feature = "type-uuid")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `codegen`, `crossbeam-channel`, `crossbeam-events`, `default`, `erased-serde`, `extended-tuple-impls`, `kaige_codegen`, `no-reexport`, `parallel`, `rayon`, `reexport`, `scoped-tls-hkt`, `serde`, `serialize`, `stdweb`, `uuid`, and `wasm-bindgen`
[INFO] [stdout]    = help: consider adding `type-uuid` 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] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling trybuild v1.0.114
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:272:18
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:292:18
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConsPrepend` is never used
[INFO] [stdout]   --> src/internals/cons.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub trait ConsPrepend<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Into` is never used
[INFO] [stdout]   --> src/internals/iter/map.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Into<T> {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InsertCommand` is never constructed
[INFO] [stdout]    --> src/internals/systems/command.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct InsertCommand<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/internals/query/mod.rs:183:11
[INFO] [stdout]     |
[INFO] [stdout] 181 |         &'a mut self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] 182 |         world: &StorageAccessor<'a>,
[INFO] [stdout]     |                                 -- the lifetime is named here
[INFO] [stdout] 183 |     ) -> (&mut Mutex<F>, QueryResult<'a>) {
[INFO] [stdout]     |           ^^^^^^^^^^^^^              -- the same lifetime is named here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 183 |     ) -> (&'a mut Mutex<F>, QueryResult<'a>) {
[INFO] [stdout]     |            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/internals/storage/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]    |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 26 |     drop_fn: Option<fn(*mut u8)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/storage/mod.rs:334:26
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn get_multi_mut(&mut self) -> MultiMut {
[INFO] [stdout]     |                          ^^^^^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn get_multi_mut(&mut self) -> MultiMut<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/storage/slicevec.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn iter_from(&self, start: usize) -> SliceVecIter<T> {
[INFO] [stdout]    |                      ^^^^^                   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn iter_from(&self, start: usize) -> SliceVecIter<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 234 |         _: &'q Query<V, F>,
[INFO] [stdout] 235 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 235 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 251 |     ) -> Result<StorageAccessor, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 251 |     ) -> Result<StorageAccessor<'_>, EntityAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:263:18
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/subworld.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn get<T: Resource>(&self) -> AtomicRef<T> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn get<T: Resource>(&self) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:213:33
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_mut<T: Resource>(&self) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_mut<T: Resource>(&self) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |     unsafe fn entry(&mut self, type_id: ResourceTypeId) -> Entry<ResourceTypeId, ResourceCell> {
[INFO] [stdout]     |                     ^^^^^^^^^ the lifetime is elided here  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 237 |     unsafe fn entry(&mut self, type_id: ResourceTypeId) -> Entry<'_, ResourceTypeId, ResourceCell> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn sync(&mut self) -> SyncResources {
[INFO] [stdout]     |                 ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 285 |     pub fn sync(&mut self) -> SyncResources<'_> {
[INFO] [stdout]     |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:330:29
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn get<T: Resource>(&self) -> Option<AtomicRef<T>> {
[INFO] [stdout]     |                             ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn get<T: Resource>(&self) -> Option<AtomicRef<'_, T>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:339:33
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn get_mut<T: Resource>(&self) -> Option<AtomicRefMut<T>> {
[INFO] [stdout]     |                                 ^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn get_mut<T: Resource>(&self) -> Option<AtomicRefMut<'_, T>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:349:62
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn get_or_insert_with<T: Resource, F: FnOnce() -> T>(&mut self, f: F) -> AtomicRef<T> {
[INFO] [stdout]     |                                                              ^^^^^^^^^           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn get_or_insert_with<T: Resource, F: FnOnce() -> T>(&mut self, f: F) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 366 |         f: F,
[INFO] [stdout] 367 |     ) -> AtomicRefMut<T> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 367 |     ) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:382:39
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_or_insert<T: Resource>(&mut self, value: T) -> AtomicRef<T> {
[INFO] [stdout]     |                                       ^^^^^^^^^               ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_or_insert<T: Resource>(&mut self, value: T) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:388:43
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn get_mut_or_insert<T: Resource>(&mut self, value: T) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                           ^^^^^^^^^               ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn get_mut_or_insert<T: Resource>(&mut self, value: T) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:396:50
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn get_or_default<T: Resource + Default>(&mut self) -> AtomicRef<T> {
[INFO] [stdout]     |                                                  ^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 396 |     pub fn get_or_default<T: Resource + Default>(&mut self) -> AtomicRef<'_, T> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:404:54
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn get_mut_or_default<T: Resource + Default>(&mut self) -> AtomicRefMut<T> {
[INFO] [stdout]     |                                                      ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn get_mut_or_default<T: Resource + Default>(&mut self) -> AtomicRefMut<'_, T> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:432:36
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub fn get<T: Resource + Sync>(&self) -> Option<AtomicRef<T>> {
[INFO] [stdout]     |                                    ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 432 |     pub fn get<T: Resource + Sync>(&self) -> Option<AtomicRef<'_, T>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/systems/resources.rs:438:40
[INFO] [stdout]     |
[INFO] [stdout] 438 |     pub fn get_mut<T: Resource + Send>(&self) -> Option<AtomicRefMut<T>> {
[INFO] [stdout]     |                                        ^^^^^            ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 438 |     pub fn get_mut<T: Resource + Send>(&self) -> Option<AtomicRefMut<'_, T>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError>;
[INFO] [stdout]    |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError>;
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError>;
[INFO] [stdout]    |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError>;
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/internals/world.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 61 |     ) -> Result<StorageAccessor, EntityAccessError>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 |     ) -> Result<StorageAccessor<'_>, EntityAccessError>;
[INFO] [stdout]    |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:391:18
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn entry(&mut self, entity: Entity) -> Option<Entry> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 391 |     pub fn entry(&mut self, entity: Entity) -> Option<Entry<'_>> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 399 |         entity: Entity,
[INFO] [stdout] 400 |     ) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 400 |     ) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:594:31
[INFO] [stdout]     |
[INFO] [stdout] 594 |     pub fn split<T: IntoView>(&mut self) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |                               ^^^^^^^^^      ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              the same lifetime is hidden here
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 594 |     pub fn split<T: IntoView>(&mut self) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                                                      ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:610:9
[INFO] [stdout]     |
[INFO] [stdout] 610 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 611 |         _: &'q Query<V, F>,
[INFO] [stdout] 612 |     ) -> (SubWorld, SubWorld) {
[INFO] [stdout]     |           ^^^^^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |           |
[INFO] [stdout]     |           the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 612 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:930:18
[INFO] [stdout]     |
[INFO] [stdout] 930 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 930 |     fn entry_ref(&self, entity: Entity) -> Result<EntryRef<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut, EntityAccessError> {
[INFO] [stdout]     |                  ^^^^^^^^^                            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 944 |     fn entry_mut(&mut self, entity: Entity) -> Result<EntryMut<'_>, EntityAccessError> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/internals/world.rs:950:9
[INFO] [stdout]     |
[INFO] [stdout] 950 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 951 |     ) -> Result<StorageAccessor, EntityAccessError> {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 951 |     ) -> Result<StorageAccessor<'_>, EntityAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   --> tests/systems_basic.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use legion::{
[INFO] [stdout]    |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `legion`
[INFO] [stdout]  --> tests/systems_for_each.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use legion::{
[INFO] [stdout]   |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `legion`
[INFO] [stdout]  --> tests/systems_par_for_each.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use legion::{
[INFO] [stdout]   |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]   --> tests/systems_basic.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use legion::{
[INFO] [stdout]    |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]  --> tests/query_api.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use legion::*;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `query`
[INFO] [stdout]  --> tests/query_api.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use query::Query;
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `kaige_ecs::query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]  --> tests/systems_par_for_each.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use legion::{
[INFO] [stdout]   |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |         fn basic(#[resource] _: &usize) {}
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 27 -         fn basic(#[resource] _: &usize) {}
[INFO] [stdout] 27 +         fn basic(#[source] _: &usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |         fn basic(#[resource] _: &mut usize) {}
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 35 -         fn basic(#[resource] _: &mut usize) {}
[INFO] [stdout] 35 +         fn basic(#[source] _: &mut usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]  --> tests/world_api.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use legion::*;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         fn basic(#[resource] _: &NotSync) {}
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 45 -         fn basic(#[resource] _: &NotSync) {}
[INFO] [stdout] 45 +         fn basic(#[source] _: &NotSync) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         fn basic(#[resource] _: &mut NotSync) {}
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 55 -         fn basic(#[resource] _: &mut NotSync) {}
[INFO] [stdout] 55 +         fn basic(#[source] _: &mut NotSync) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 |         #[read_component(usize)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 |         #[read_component(usize)]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |         #[read_component(f32)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `write_component` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 |         #[write_component(usize)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 |         #[read_component(T)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |         #[read_component(T)]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `state` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |         fn basic<T: 'static>(#[state] _: &T) {}
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `state` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:163:32
[INFO] [stdout]     |
[INFO] [stdout] 163 |         fn basic<T: 'static>(#[state] _: &mut T) {}
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `state` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |             #[state] a_count: &Arc<AtomicUsize>,
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `state` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:181:15
[INFO] [stdout]     |
[INFO] [stdout] 181 |             #[state] b_count: &Arc<AtomicUsize>,
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]  --> tests/systems_for_each.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use legion::{
[INFO] [stdout]   |         ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn for_each(_: &Entity, #[resource] _: &usize) {}
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 20 -         fn for_each(_: &Entity, #[resource] _: &usize) {}
[INFO] [stdout] 20 +         fn for_each(_: &Entity, #[source] _: &usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `legion`
[INFO] [stdout]  --> tests/codegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use legion::*;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `world`
[INFO] [stdout]  --> tests/codegen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use world::SubWorld;
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `kaige_ecs::world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_par_for_each.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |             .add_system(for_each_system::<usize>())
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "systems_par_for_each") due to 9 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:20:35
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn for_each(_: &Entity, #[resource] _: &usize) {}
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 20 -         fn for_each(_: &Entity, #[resource] _: &usize) {}
[INFO] [stdout] 20 +         fn for_each(_: &Entity, #[source] _: &usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |         fn for_each(_: &Entity, #[resource] _: &mut usize) {}
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 28 -         fn for_each(_: &Entity, #[resource] _: &mut usize) {}
[INFO] [stdout] 28 +         fn for_each(_: &Entity, #[source] _: &mut usize) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `legion`
[INFO] [stdout]   --> tests/systems_basic.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 |         fn basic(_: &legion::systems::CommandBuffer) {}
[INFO] [stdout]    |                      ^^^^^^ use of unresolved module or unlinked crate `legion`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `legion`, use `cargo add legion` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout]  3 +     use kaige_ecs::systems;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `systems`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 89 -         fn basic(_: &legion::systems::CommandBuffer) {}
[INFO] [stdout] 89 +         fn basic(_: &systems::CommandBuffer) {}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:29:40
[INFO] [stdout]    |
[INFO] [stdout] 29 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:37:40
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:47:46
[INFO] [stdout]    |
[INFO] [stdout] 47 |         Schedule::builder().add_thread_local(basic_system()).build();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:57:46
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Schedule::builder().add_thread_local(basic_system()).build();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:66:40
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:75:40
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:83:40
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:91:40
[INFO] [stdout]    |
[INFO] [stdout] 91 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]   --> tests/systems_basic.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 114 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |             .add_system(basic_system::<usize>())
[INFO] [stdout]     |                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:148:25
[INFO] [stdout]     |
[INFO] [stdout] 148 |             .add_system(basic_system::<usize>())
[INFO] [stdout]     |                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |         Schedule::builder().add_system(basic_system(false)).build();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:165:40
[INFO] [stdout]     |
[INFO] [stdout] 165 |         Schedule::builder().add_system(basic_system(false)).build();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:173:40
[INFO] [stdout]     |
[INFO] [stdout] 173 |         Schedule::builder().add_system(basic_system()).build();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `basic_system` in this scope
[INFO] [stdout]    --> tests/systems_basic.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |             .add_system(basic_system(a_count.clone(), b_count.clone()))
[INFO] [stdout]     |                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `system` in this scope
[INFO] [stdout]  --> tests/codegen.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |     #[system]
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]   |
[INFO] [stdout] 1 + use kaige_codegen::system;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use kaige_ecs::system;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:46:40
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:54:40
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:62:40
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `system` in this scope
[INFO] [stdout]   --> tests/codegen.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |     #[system(for_each)]
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use kaige_codegen::system;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use kaige_ecs::system;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:72:40
[INFO] [stdout]    |
[INFO] [stdout] 72 |         Schedule::builder().add_system(for_each_system()).build();
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `for_each_system` in this scope
[INFO] [stdout]   --> tests/systems_for_each.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |             .add_system(for_each_system::<usize>())
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `resource` in this scope
[INFO] [stdout]   --> tests/codegen.rs:22:33
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn sum(component: &usize, #[resource] total: &mut usize) {
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: the derive macro `Error` accepts the similarly named `source` attribute
[INFO] [stdout]    |
[INFO] [stdout] 22 -     fn sum(component: &usize, #[resource] total: &mut usize) {
[INFO] [stdout] 22 +     fn sum(component: &usize, #[source] total: &mut usize) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `system` in this scope
[INFO] [stdout]   --> tests/codegen.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[system]
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these attribute macros
[INFO] [stdout]    |
[INFO] [stdout]  1 + use kaige_codegen::system;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use kaige_ecs::system;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]   --> tests/codegen.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 |     #[read_component(f32)]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "systems_basic") due to 34 previous errors
[INFO] [stdout] error: cannot find attribute `read_component` in this scope
[INFO] [stdout]   --> tests/codegen.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 |     #[read_component(f64)]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `state` in this scope
[INFO] [stdout]   --> tests/codegen.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn sys(world: &mut SubWorld, #[state] entity: &State) {
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "systems_for_each") due to 13 previous errors
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/query_api.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 |         .map(|x| x.map(|x| *x))
[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] 62 |         .map(|x: /* Type */| x.map(|x| *x))
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/query_api.rs:64:36
[INFO] [stdout]    |
[INFO] [stdout] 64 |     assert_eq!(rots.iter().filter(|x| x.is_none()).count(), 1);
[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] 64 |     assert_eq!(rots.iter().filter(|x: /* Type */| x.is_none()).count(), 1);
[INFO] [stdout]    |                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:135:47
[INFO] [stdout]     |
[INFO] [stdout] 135 |     query.par_for_each_chunk_mut(&mut world, |chunk| {
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout] 136 |         for (entity, pos) in chunk.into_iter_entities() {
[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] 135 |     query.par_for_each_chunk_mut(&mut world, |chunk: /* Type */| {
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `query` found for tuple `(&f32, &f64)` in the current scope
[INFO] [stdout]   --> tests/codegen.rs:47:41
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut query = <(&f32, &f64)>::query();
[INFO] [stdout]    |                                         ^^^^^ function or associated item not found in `(&f32, &f64)`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `IntoQuery` which provides `query` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  1 + use kaige_ecs::IntoQuery;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:448:17
[INFO] [stdout]     |
[INFO] [stdout] 448 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                 ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:448:41
[INFO] [stdout]     |
[INFO] [stdout] 448 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                 ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:487:41
[INFO] [stdout]     |
[INFO] [stdout] 487 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:499:17
[INFO] [stdout]     |
[INFO] [stdout] 499 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                 ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/query_api.rs:499:41
[INFO] [stdout]     |
[INFO] [stdout] 499 |         sum.0 = a.map_or(0., |x| x.0) + b.map_or(0., |x| x.0);
[INFO] [stdout]     |                                         ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "codegen") due to 10 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "query_api") due to 11 previous errors
[INFO] [stdout] warning: unexpected `cfg` condition value: `type-uuid`
[INFO] [stdout]   --> src/serialize.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[cfg(feature = "type-uuid")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `codegen`, `crossbeam-channel`, `crossbeam-events`, `default`, `erased-serde`, `extended-tuple-impls`, `kaige_codegen`, `no-reexport`, `parallel`, `rayon`, `reexport`, `scoped-tls-hkt`, `serde`, `serialize`, `stdweb`, `uuid`, and `wasm-bindgen`
[INFO] [stdout]    = help: consider adding `type-uuid` 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] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (test "world_api") due to 1 previous error
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:272:18
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
[INFO] [stdout]    --> src/internals/permissions.rs:292:18
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 .fold1(|x, y| format!("{}, {}", x, y))
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
[INFO] [stdout]   --> src/internals/hash.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             core::mem::transmute::<TypeId, u64>(type_id)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: source type: `TypeId` (128 bits)
[INFO] [stdout]    = note: target type: `u64` (64 bits)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0512`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kaige_ecs` (lib test) due to 1 previous error; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "53d73e2f5aa02f36be2ceef6ebf814b07525e5a2b08e1fece528047c17d4518a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53d73e2f5aa02f36be2ceef6ebf814b07525e5a2b08e1fece528047c17d4518a", kill_on_drop: false }`
[INFO] [stdout] 53d73e2f5aa02f36be2ceef6ebf814b07525e5a2b08e1fece528047c17d4518a
