[INFO] fetching crate legion-core 0.2.4...
[INFO] checking legion-core-0.2.4 against master#035b01b794602d5861daa43ac792f372f8981ed7 for 152214-denied-retry-0
[INFO] extracting crate legion-core 0.2.4 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate legion-core 0.2.4
[INFO] finished tweaking crates.io crate legion-core 0.2.4
[INFO] tweaked toml for crates.io crate legion-core 0.2.4 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate legion-core 0.2.4 on toolchain 035b01b794602d5861daa43ac792f372f8981ed7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "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" "+035b01b794602d5861daa43ac792f372f8981ed7" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 97 packages to latest compatible versions
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.8.0)
[INFO] [stderr]       Adding crossbeam-channel v0.4.4 (available: v0.5.15)
[INFO] [stderr]       Adding crossbeam-queue v0.2.3 (available: v0.3.12)
[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.8.2 (available: v0.14.0)
[INFO] [stderr]       Adding metrics v0.12.1 (available: v0.24.3)
[INFO] [stderr]       Adding parking_lot v0.10.2 (available: v0.12.5)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding tracing-subscriber v0.2.25 (available: v0.3.22)
[INFO] [stderr]       Adding uuid v0.8.2 (available: v1.20.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded parking_lot_core v0.7.3
[INFO] [stderr]   Downloaded crossbeam-queue v0.2.3
[INFO] [stderr]   Downloaded cloudabi v0.0.3
[INFO] [stderr]   Downloaded type-uuid-derive v0.1.2
[INFO] [stderr]   Downloaded maybe-uninit v2.0.0
[INFO] [stderr]   Downloaded tracing-serde v0.1.3
[INFO] [stderr]   Downloaded lock_api v0.3.4
[INFO] [stderr]   Downloaded itertools v0.8.2
[INFO] [stderr]   Downloaded metrics-core v0.5.2
[INFO] [stderr]   Downloaded matchers v0.0.1
[INFO] [stderr]   Downloaded parking_lot v0.10.2
[INFO] [stderr]   Downloaded crossbeam-channel v0.4.4
[INFO] [stderr]   Downloaded metrics v0.12.1
[INFO] [stderr]   Downloaded type-uuid v0.1.2
[INFO] [stderr]   Downloaded tracing-subscriber v0.2.25
[INFO] [stderr]   Downloaded redox_syscall v0.1.57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e9e4165669977ce1b83497f7b7571022ed776456c94d0bb8c0ff2a335e453881
[INFO] running `Command { std: "docker" "start" "-a" "e9e4165669977ce1b83497f7b7571022ed776456c94d0bb8c0ff2a335e453881", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9e4165669977ce1b83497f7b7571022ed776456c94d0bb8c0ff2a335e453881", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9e4165669977ce1b83497f7b7571022ed776456c94d0bb8c0ff2a335e453881", kill_on_drop: false }`
[INFO] [stdout] e9e4165669977ce1b83497f7b7571022ed776456c94d0bb8c0ff2a335e453881
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4426dcc8f9920d4299d98ed2caaf62d4150698960bab8c8611396efd62cd169b
[INFO] running `Command { std: "docker" "start" "-a" "4426dcc8f9920d4299d98ed2caaf62d4150698960bab8c8611396efd62cd169b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking parking_lot_core v0.7.3
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling type-uuid-derive v0.1.2
[INFO] [stderr]     Checking type-uuid v0.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking legion-core v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/borrow.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/borrow.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking erased-serde v0.3.31
[INFO] [stderr]     Checking tracing-subscriber v0.2.25
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stdout]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[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] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[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] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/command.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[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] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/entity.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[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] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, 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] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[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] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[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] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> 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] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 283 |         range: R,
[INFO] [stdout] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[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] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[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/storage.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 334 |     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: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[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] 
[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/storage.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 336 |     clone_fn: fn(*const u8, *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] 
[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/storage.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 380 |     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] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1234:31
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |      |
[INFO] [stdout]      |                               |      the same lifetime is elided here
[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: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stdout]      |                                      +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1245:31
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |         |
[INFO] [stdout]      |                               |         the same lifetime is elided here
[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: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stdout]      |                                         +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1381 |         range: R,
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[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] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stdout]      |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1732:19
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[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] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1896:28
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[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] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1913:32
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[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] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1929:33
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |         |      |
[INFO] [stdout]      |                                 |         |      the same lifetime is elided here
[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] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1947:37
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stdout]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |         |         |
[INFO] [stdout]      |                                     |         |         the same lifetime is elided here
[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] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1953:19
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[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] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stdout]      |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 216 |         _: &'q Query<V, F>,
[INFO] [stdout] 217 |     ) -> (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] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:298:36
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 306 |         entity: Entity,
[INFO] [stdout] 307 |     ) -> Option<RefMut<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] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[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] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stdout]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stdout] 127 |         -> Option<RefMut<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] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<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] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[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] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:1061:43
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stdout]      |                                           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stdout] 1061 +             archetype_data: archetype_data,
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stdout]     -->  src/storage.rs:620:1
[INFO] [stdout]      |
[INFO] [stdout]  620 + #[derive(Clone)]
[INFO] [stdout]  621 | pub struct ArchetypeData {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1092:39
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&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] 1092 |     pub fn split<T: for<'v> View<'v>>(&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/world.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1114 |         _: &'q Query<V, F>,
[INFO] [stdout] 1115 |     ) -> (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] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1139:36
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1160 |         entity: Entity,
[INFO] [stdout] 1161 |     ) -> Option<RefMut<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] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]      |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1195:9
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[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] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]      |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/borrow.rs:78:34
[INFO] [stdout]    |
[INFO] [stdout] 78 |             if self.borrow_state.compare_and_swap(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::AtomicIsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]    --> src/borrow.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 .compare_and_swap(0, -1, std::sync::atomic::Ordering::SeqCst);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<T> { self.try_get().unwrap() }
[INFO] [stdout]    |                ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get(&self) -> Ref<'_, T> { self.try_get().unwrap() }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/borrow.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn try_get(&self) -> Result<Ref<T>, String> {
[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] 68 |     pub fn try_get(&self) -> Result<Ref<'_, T>, String> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:124:20
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn get_mut(&self) -> RefMut<'_, T> { self.try_get_mut().unwrap() }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/borrow.rs:140:24
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<T>, String> {
[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] 140 |     pub fn try_get_mut(&self) -> Result<RefMut<'_, T>, String> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/command.rs:421:25
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<(), ()> {
[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] 421 |     pub fn start_entity(&mut self) -> EntityBuilder<'_, (), ()> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/entity.rs:279:28
[INFO] [stdout]     |
[INFO] [stdout] 279 |     pub fn create_entities(&self) -> CreateEntityIter {
[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] 279 |     pub fn create_entities(&self) -> CreateEntityIter<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/filter.rs:109:16
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn matches(&mut self, source: T) -> FilterIter<Self, 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] 109 |     fn matches(&mut self, source: T) -> FilterIter<'_, Self, T> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn iter(&self) -> SliceVecIter<ComponentTypeId> { self.0.iter() }
[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] 127 |     pub fn iter(&self) -> SliceVecIter<'_, ComponentTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter(&self) -> SliceVecIter<TagTypeId> { self.0.iter() }
[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] 138 |     pub fn iter(&self) -> SliceVecIter<'_, TagTypeId> { self.0.iter() }
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn iter(&self) -> 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] 175 |     pub fn iter(&self) -> SliceVecIter<'_, T> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 283 |         range: R,
[INFO] [stdout] 284 |     ) -> std::vec::Drain<ArchetypeData> {
[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] 284 |     ) -> std::vec::Drain<'_, ArchetypeData> {
[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/storage.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 334 |     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: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/storage.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 335 |     eq_fn: fn(*const u8, *const u8) -> bool,
[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] 
[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/storage.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 336 |     clone_fn: fn(*const u8, *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] 
[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/storage.rs:380:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | #[derive(Copy, Clone, PartialEq)]
[INFO] [stdout]     |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 380 |     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] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1234:31
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<&[T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |      |
[INFO] [stdout]      |                               |      the same lifetime is elided here
[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: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1234 |     ) -> impl Iterator<Item = RefMap<'a, &'a [T]>> + 'a {
[INFO] [stdout]      |                                      +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding or eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1245:31
[INFO] [stdout]      |
[INFO] [stdout] 1244 |         &'a self,
[INFO] [stdout]      |          -- the lifetime is named here
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<&mut [T]>> + 'a {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]      |                               |         |
[INFO] [stdout]      |                               |         the same lifetime is elided here
[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: consistently use `'a`
[INFO] [stdout]      |
[INFO] [stdout] 1245 |     ) -> impl Iterator<Item = RefMapMut<'a, &'a mut [T]>> + 'a {
[INFO] [stdout]      |                                         +++  ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1380:9
[INFO] [stdout]      |
[INFO] [stdout] 1380 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1381 |         range: R,
[INFO] [stdout] 1382 |     ) -> std::vec::Drain<ComponentStorage> {
[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] 1382 |     ) -> std::vec::Drain<'_, ComponentStorage> {
[INFO] [stdout]      |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1732:19
[INFO] [stdout]      |
[INFO] [stdout] 1732 |     pub fn writer(&mut self) -> StorageWriter {
[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] 1732 |     pub fn writer(&mut self) -> StorageWriter<'_> {
[INFO] [stdout]      |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1896:28
[INFO] [stdout]      |
[INFO] [stdout] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<*mut u8>, usize, usize) {
[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] 1896 |     pub unsafe fn data_raw(&self) -> (Ref<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1913:32
[INFO] [stdout]      |
[INFO] [stdout] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<*mut u8>, usize, usize) {
[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] 1913 |     pub unsafe fn data_raw_mut(&self) -> (RefMut<'_, *mut u8>, usize, usize) {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1929:33
[INFO] [stdout]      |
[INFO] [stdout] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<&[T]> {
[INFO] [stdout]      |                                 ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]      |                                 |         |      |
[INFO] [stdout]      |                                 |         |      the same lifetime is elided here
[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] 1929 |     pub unsafe fn data_slice<T>(&self) -> RefMap<'_, &[T]> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1947:37
[INFO] [stdout]      |
[INFO] [stdout] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<&mut [T]> {
[INFO] [stdout]      |                                     ^^^^^     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |         |         |
[INFO] [stdout]      |                                     |         |         the same lifetime is elided here
[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] 1947 |     pub unsafe fn data_slice_mut<T>(&self) -> RefMapMut<'_, &mut [T]> {
[INFO] [stdout]      |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/storage.rs:1953:19
[INFO] [stdout]      |
[INFO] [stdout] 1953 |     pub fn writer(&mut self) -> ComponentWriter { ComponentWriter::new(self) }
[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] 1953 |     pub fn writer(&mut self) -> ComponentWriter<'_> { ComponentWriter::new(self) }
[INFO] [stdout]      |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 216 |         _: &'q Query<V, F>,
[INFO] [stdout] 217 |     ) -> (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] 217 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]     |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:298:36
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 298 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 306 |         entity: Entity,
[INFO] [stdout] 307 |     ) -> Option<RefMut<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] 307 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/subworld.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 320 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[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] 320 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:111:36
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 111 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>>;
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:126:57
[INFO] [stdout]     |
[INFO] [stdout] 126 |     unsafe fn get_component_mut_unchecked<T: Component>(&self, entity: Entity)
[INFO] [stdout]     |                                                         ^^^^^ the lifetime is elided here
[INFO] [stdout] 127 |         -> Option<RefMut<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] 127 |         -> Option<RefMut<'_, T>>;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:138:40
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<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] 138 |     fn get_component_mut<T: Component>(&mut self, entity: Entity) -> Option<RefMut<'_, T>> {
[INFO] [stdout]     |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/world.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 155 |     ) -> Result<StorageAccessor, ComponentAccessError>;
[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] 155 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError>;
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:1061:43
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             archetype_data: archetype_data.deref(),
[INFO] [stdout]      |                                           ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `ArchetypeData` does not implement `Deref`, so calling `deref` on `&ArchetypeData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]      = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 1061 -             archetype_data: archetype_data.deref(),
[INFO] [stdout] 1061 +             archetype_data: archetype_data,
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `ArchetypeData`, implement `Clone` for it
[INFO] [stdout]     -->  src/storage.rs:620:1
[INFO] [stdout]      |
[INFO] [stdout]  620 + #[derive(Clone)]
[INFO] [stdout]  621 | pub struct ArchetypeData {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1092:39
[INFO] [stdout]      |
[INFO] [stdout] 1092 |     pub fn split<T: for<'v> View<'v>>(&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] 1092 |     pub fn split<T: for<'v> View<'v>>(&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/world.rs:1113:9
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         &mut self,
[INFO] [stdout]      |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 1114 |         _: &'q Query<V, F>,
[INFO] [stdout] 1115 |     ) -> (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] 1115 |     ) -> (SubWorld<'_>, SubWorld<'_>) {
[INFO] [stdout]      |                   ++++          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1139:36
[INFO] [stdout]      |
[INFO] [stdout] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<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] 1139 |     fn get_component<T: Component>(&self, entity: Entity) -> Option<Ref<'_, T>> {
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1159:9
[INFO] [stdout]      |
[INFO] [stdout] 1159 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1160 |         entity: Entity,
[INFO] [stdout] 1161 |     ) -> Option<RefMut<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] 1161 |     ) -> Option<RefMut<'_, T>> {
[INFO] [stdout]      |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/world.rs:1195:9
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         &self,
[INFO] [stdout]      |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 1196 |     ) -> Result<StorageAccessor, ComponentAccessError> {
[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] 1196 |     ) -> Result<StorageAccessor<'_>, ComponentAccessError> {
[INFO] [stdout]      |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:2099:69
[INFO] [stdout]      |
[INFO] [stdout] 2099 |             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stdout]      |                                                                     ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `Static` does not implement `Deref`, so calling `deref` on `&Static` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 2099 -             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap().deref());
[INFO] [stdout] 2099 +             assert_eq!(&Static, world.get_tag::<Static>(*e).unwrap());
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `Static`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout] 1944 +     #[derive(Clone)]
[INFO] [stdout] 1945 |     struct Static;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/world.rs:2100:70
[INFO] [stdout]      |
[INFO] [stdout] 2100 |             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stdout]      |                                                                      ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `Model` does not implement `Deref`, so calling `deref` on `&Model` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout] 2100 -             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap().deref());
[INFO] [stdout] 2100 +             assert_eq!(&Model(5), world.get_tag::<Model>(*e).unwrap());
[INFO] [stdout]      |
[INFO] [stdout] help: if you meant to clone `Model`, implement `Clone` for it
[INFO] [stdout]      |
[INFO] [stdout] 1942 +     #[derive(Clone)]
[INFO] [stdout] 1943 |     struct Model(u32);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.18s
[INFO] running `Command { std: "docker" "inspect" "4426dcc8f9920d4299d98ed2caaf62d4150698960bab8c8611396efd62cd169b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4426dcc8f9920d4299d98ed2caaf62d4150698960bab8c8611396efd62cd169b", kill_on_drop: false }`
[INFO] [stdout] 4426dcc8f9920d4299d98ed2caaf62d4150698960bab8c8611396efd62cd169b
