[INFO] fetching crate ecsx 0.1.1...
[INFO] testing ecsx-0.1.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate ecsx 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate ecsx 0.1.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ecsx 0.1.1
[INFO] tweaked toml for crates.io crate ecsx 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ecsx 0.1.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ecsx 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876
[INFO] running `Command { std: "docker" "start" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling ecsx v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::container::*`
[INFO] [stdout]  --> src/entity/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::container::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 |           Some(NonNull::new_unchecked(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 217 | |             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |                 .cast::<u8>(),
[INFO] [stdout] 223 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | /     pub(crate) unsafe fn get_dynamic(
[INFO] [stdout] 210 | |         &self,
[INFO] [stdout] 211 | |         ty: TypeId,
[INFO] [stdout] 212 | |         size: usize,
[INFO] [stdout] 213 | |         index: u32,
[INFO] [stdout] 214 | |     ) -> Option<NonNull<u8>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] 220 | |                 .as_ptr()
[INFO] [stdout] 221 | |                 .add(size * index as usize)
[INFO] [stdout]     | |___________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout]     | |_____________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:323:27
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let removed = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub(crate) unsafe fn remove(&mut self, index: u32, drop: bool) -> Option<u32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 (ty.drop)(removed);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:328:29
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 ptr::copy_nonoverlapping(moved, removed, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:349:29
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let moved_out = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | /     pub(crate) unsafe fn move_to(
[INFO] [stdout] 343 | |         &mut self,
[INFO] [stdout] 344 | |         index: u32,
[INFO] [stdout] 345 | |         mut f: impl FnMut(*mut u8, TypeId, usize),
[INFO] [stdout] 346 | |     ) -> Option<u32> {
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |                 ptr::copy_nonoverlapping(moved, moved_out, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:372:19
[INFO] [stdout]     |
[INFO] [stdout] 372 |           let ptr = self
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 373 | |             .get_dynamic(ty, size, index)
[INFO] [stdout]     | |_________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | /     pub(crate) unsafe fn put_dynamic(
[INFO] [stdout] 366 | |         &mut self,
[INFO] [stdout] 367 | |         component: *mut u8,
[INFO] [stdout] 368 | |         ty: TypeId,
[INFO] [stdout] 369 | |         size: usize,
[INFO] [stdout] 370 | |         index: u32,
[INFO] [stdout] 371 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |         ptr::copy_nonoverlapping(component, ptr, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::copy_from_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout] 401 | |                 .copy_from_nonoverlapping(
[INFO] [stdout] 402 | |                     src.storage.as_ptr(),
[INFO] [stdout] 403 | |                     other.len as usize * info.layout.size(),
[INFO] [stdout] 404 | |                 )
[INFO] [stdout]     | |_________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub(crate) unsafe fn merge(&mut self, mut other: Archetype) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout]     | |____________________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 |             x.cast::<T>().drop_in_place()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:531:9
[INFO] [stdout]     |
[INFO] [stdout] 531 |         unsafe fn drop_ptr<T>(x: *mut u8) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 |         (self.drop)(data)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 |     pub unsafe fn drop(&self, data: *mut u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     unsafe fn grow(
[INFO] [stdout] 43 | |         min_size: usize,
[INFO] [stdout] 44 | |         cursor: usize,
[INFO] [stdout] 45 | |         align: usize,
[INFO] [stdout] 46 | |         storage: NonNull<u8>,
[INFO] [stdout] 47 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]    | |______________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:50
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `command_buffer::CommandBuffer::grow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let (new_storage, new_layout) = Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     unsafe fn add_inner(&mut self, ptr: *mut u8, ty: TypeInfo) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/command_buffer/mod.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let ptr = self.cmd.storage.as_ptr().add(info.offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/command_buffer/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let ptr = self.builder.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:251:23
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             (clone.func)(ptr, &mut f);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     unsafe fn put_with_clone(self, mut f: impl FnMut(*mut u8, TypeInfo, DynamicClone)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             (clone.func)(ptr, &mut |src, ty| f(src, ty, clone));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:27
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | /     unsafe fn grow(
[INFO] [stdout] 318 | |         min_size: usize,
[INFO] [stdout] 319 | |         cursor: usize,
[INFO] [stdout] 320 | |         align: usize,
[INFO] [stdout] 321 | |         storage: NonNull<u8>,
[INFO] [stdout] 322 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:50
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:345:31
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 let storage = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     unsafe fn add(&mut self, ptr: *mut u8, ty: TypeInfo, meta: M) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::TypeInfo::drop` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 ty.drop(storage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 ptr::copy_nonoverlapping(ptr, storage, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_builder::Common::<M>::grow` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |                         dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrow::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (target, borrow) = ComponentBorrow::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 127 | |         archetype: &'a Archetype,
[INFO] [stdout] 128 | |         index: u32,
[INFO] [stdout] 129 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrowMut::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let (target, borrow) = ComponentBorrowMut::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 214 | |         archetype: &'a Archetype,
[INFO] [stdout] 215 | |         index: u32,
[INFO] [stdout] 216 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:334:10
[INFO] [stdout]     |
[INFO] [stdout] 334 |         &*raw
[INFO] [stdout]     |          ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:354:14
[INFO] [stdout]     |
[INFO] [stdout] 354 |         &mut *raw
[INFO] [stdout]     |              ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 382 | |         archetype: &'a Archetype,
[INFO] [stdout] 383 | |         index: u32,
[INFO] [stdout] 384 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 429 | |         archetype: &'a Archetype,
[INFO] [stdout] 430 | |         index: u32,
[INFO] [stdout] 431 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/query/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |             generation: meta.get_unchecked(id as usize).generation,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchRead<T>, n: usize) -> &'q T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchWrite<T>, n: usize) -> &'q mut T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |         Some(T::get(meta, fetch.0.as_ref()?, n))
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | /     unsafe fn get<'q>(
[INFO] [stdout] 245 | |         meta: &[EntityMeta],
[INFO] [stdout] 246 | |         fetch: &TryFetch<T::Fetch>,
[INFO] [stdout] 247 | |         n: usize,
[INFO] [stdout] 248 | |     ) -> Option<T::Item<'q>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:22
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:46
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:460:5
[INFO] [stdout]     |
[INFO] [stdout] 460 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:539:5
[INFO] [stdout]     |
[INFO] [stdout] 539 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:998:20
[INFO] [stdout]     |
[INFO] [stdout] 998 |         let item = Q::get(meta, &self.fetch, self.position);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:994:5
[INFO] [stdout]     |
[INFO] [stdout] 994 |     unsafe fn next<'a>(&mut self, meta: &[EntityMeta]) -> Option<Q::Item<'a>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1453:26
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1445:5
[INFO] [stdout]      |
[INFO] [stdout] 1445 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1642:26
[INFO] [stdout]      |
[INFO] [stdout] 1642 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1634:5
[INFO] [stdout]      |
[INFO] [stdout] 1634 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::View::<'q, Q>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1760:9
[INFO] [stdout]      |
[INFO] [stdout] 1760 |         self.view.get_unchecked(entity)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1759:5
[INFO] [stdout]      |
[INFO] [stdout] 1759 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::CachedQuery::<F>::get_state` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:2086:44
[INFO] [stdout]      |
[INFO] [stdout] 2086 |               let Some((archetype, state)) = self
[INFO] [stdout]      |  ____________________________________________^
[INFO] [stdout] 2087 | |                 .cache
[INFO] [stdout] 2088 | |                 .get_state(world.archetypes_inner(), self.archetypes.next()?)
[INFO] [stdout]      | |_____________________________________________________________________________^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:2084:5
[INFO] [stdout]      |
[INFO] [stdout] 2084 |     unsafe fn next(&mut self, world: &Substrate) -> Option<ChunkIter<Q>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entities::Entities::resolve_unknown_gen` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         self.entities.resolve_unknown_gen(id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub unsafe fn find_entity_from_id(&self, id: u32) -> Entity {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentRef::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:857:12
[INFO] [stdout]     |
[INFO] [stdout] 857 |           Ok(T::from_raw(
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 858 | |             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout] 862 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 848 | /     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stdout] 849 | |         &'a self,
[INFO] [stdout] 850 | |         entity: Entity,
[INFO] [stdout] 851 | |     ) -> Result<T, ComponentError> {
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout]     | |________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout]     | |________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/take/mod.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |               let ptr = self
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 47 | |                 .archetype
[INFO] [stdout] 48 | |                 .get_dynamic(ty.id(), ty.layout().size(), self.index)
[INFO] [stdout]    | |_____________________________________________________________________^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/take/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entity` is never constructed
[INFO] [stdout]   --> src/entity/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Entity<'a, T: EntityIdIntType> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `id`, and `raw_id` are never used
[INFO] [stdout]   --> src/entity/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a, T: EntityIdIntType> Entity<'a, T> {
[INFO] [stdout]    | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     #[inline(always)]
[INFO] [stdout] 17 |     pub fn new(id: EntityId<T>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn id(&self) -> EntityId<T> {
[INFO] [stdout]    |                  ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub const fn raw_id(&self) -> T {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityId` is never constructed
[INFO] [stdout]   --> src/entity/id/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct EntityId<T: EntityIdIntType>(T);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value` is never used
[INFO] [stdout]   --> src/entity/id/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<T: EntityIdIntType> EntityId<T> {
[INFO] [stdout]    | ------------------------------------ method in this implementation
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout] 21 |     pub const fn value(&self) -> T {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl EntityId<u128> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |     #[inline]
[INFO] [stdout] 29 |     pub const fn new(index: u128, generation: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub const fn index(&self) -> u128 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub const fn generation(&self) -> u32 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl EntityId<u64> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 48 |     #[inline]
[INFO] [stdout] 49 |     pub const fn new(index: u64, generation: u16) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub const fn index(&self) -> u64 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub const fn generation(&self) -> u16 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl EntityId<u32> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 68 |     #[inline]
[INFO] [stdout] 69 |     pub const fn new(index: u32, generation: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub const fn index(&self) -> u32 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub const fn generation(&self) -> u8 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `EntityIdIntType` is never used
[INFO] [stdout]  --> src/entity/id/int_type.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait EntityIdIntType:
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityContainer` is never constructed
[INFO] [stdout]  --> src/entity/container/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct EntityContainer {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `drop_in_place` with a pointer to a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/batch/mod.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                         base.as_ptr().add(i as usize).drop_in_place()
[INFO] [stdout]     |                         -----------------------------^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         argument has type `*mut u8`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 3.43s
[INFO] running `Command { std: "docker" "inspect" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ecsx v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::container::*`
[INFO] [stdout]  --> src/entity/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::container::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde_spanned v1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 |           Some(NonNull::new_unchecked(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 217 | |             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |                 .cast::<u8>(),
[INFO] [stdout] 223 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | /     pub(crate) unsafe fn get_dynamic(
[INFO] [stdout] 210 | |         &self,
[INFO] [stdout] 211 | |         ty: TypeId,
[INFO] [stdout] 212 | |         size: usize,
[INFO] [stdout] 213 | |         index: u32,
[INFO] [stdout] 214 | |     ) -> Option<NonNull<u8>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] 220 | |                 .as_ptr()
[INFO] [stdout] 221 | |                 .add(size * index as usize)
[INFO] [stdout]     | |___________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout]     | |_____________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:323:27
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let removed = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub(crate) unsafe fn remove(&mut self, index: u32, drop: bool) -> Option<u32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 (ty.drop)(removed);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:328:29
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 ptr::copy_nonoverlapping(moved, removed, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:349:29
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let moved_out = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | /     pub(crate) unsafe fn move_to(
[INFO] [stdout] 343 | |         &mut self,
[INFO] [stdout] 344 | |         index: u32,
[INFO] [stdout] 345 | |         mut f: impl FnMut(*mut u8, TypeId, usize),
[INFO] [stdout] 346 | |     ) -> Option<u32> {
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |                 ptr::copy_nonoverlapping(moved, moved_out, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:372:19
[INFO] [stdout]     |
[INFO] [stdout] 372 |           let ptr = self
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 373 | |             .get_dynamic(ty, size, index)
[INFO] [stdout]     | |_________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | /     pub(crate) unsafe fn put_dynamic(
[INFO] [stdout] 366 | |         &mut self,
[INFO] [stdout] 367 | |         component: *mut u8,
[INFO] [stdout] 368 | |         ty: TypeId,
[INFO] [stdout] 369 | |         size: usize,
[INFO] [stdout] 370 | |         index: u32,
[INFO] [stdout] 371 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |         ptr::copy_nonoverlapping(component, ptr, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::copy_from_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout] 401 | |                 .copy_from_nonoverlapping(
[INFO] [stdout] 402 | |                     src.storage.as_ptr(),
[INFO] [stdout] 403 | |                     other.len as usize * info.layout.size(),
[INFO] [stdout] 404 | |                 )
[INFO] [stdout]     | |_________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub(crate) unsafe fn merge(&mut self, mut other: Archetype) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout]     | |____________________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 |             x.cast::<T>().drop_in_place()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:531:9
[INFO] [stdout]     |
[INFO] [stdout] 531 |         unsafe fn drop_ptr<T>(x: *mut u8) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 |         (self.drop)(data)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 |     pub unsafe fn drop(&self, data: *mut u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling toml v1.1.0+spec-1.1.0
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     unsafe fn grow(
[INFO] [stdout] 43 | |         min_size: usize,
[INFO] [stdout] 44 | |         cursor: usize,
[INFO] [stdout] 45 | |         align: usize,
[INFO] [stdout] 46 | |         storage: NonNull<u8>,
[INFO] [stdout] 47 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]    | |______________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:50
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `command_buffer::CommandBuffer::grow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let (new_storage, new_layout) = Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     unsafe fn add_inner(&mut self, ptr: *mut u8, ty: TypeInfo) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/command_buffer/mod.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let ptr = self.cmd.storage.as_ptr().add(info.offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/command_buffer/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let ptr = self.builder.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:251:23
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             (clone.func)(ptr, &mut f);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     unsafe fn put_with_clone(self, mut f: impl FnMut(*mut u8, TypeInfo, DynamicClone)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             (clone.func)(ptr, &mut |src, ty| f(src, ty, clone));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:27
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | /     unsafe fn grow(
[INFO] [stdout] 318 | |         min_size: usize,
[INFO] [stdout] 319 | |         cursor: usize,
[INFO] [stdout] 320 | |         align: usize,
[INFO] [stdout] 321 | |         storage: NonNull<u8>,
[INFO] [stdout] 322 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:50
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:345:31
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 let storage = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     unsafe fn add(&mut self, ptr: *mut u8, ty: TypeInfo, meta: M) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::TypeInfo::drop` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 ty.drop(storage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 ptr::copy_nonoverlapping(ptr, storage, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_builder::Common::<M>::grow` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |                         dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrow::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (target, borrow) = ComponentBorrow::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 127 | |         archetype: &'a Archetype,
[INFO] [stdout] 128 | |         index: u32,
[INFO] [stdout] 129 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrowMut::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let (target, borrow) = ComponentBorrowMut::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 214 | |         archetype: &'a Archetype,
[INFO] [stdout] 215 | |         index: u32,
[INFO] [stdout] 216 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:334:10
[INFO] [stdout]     |
[INFO] [stdout] 334 |         &*raw
[INFO] [stdout]     |          ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:354:14
[INFO] [stdout]     |
[INFO] [stdout] 354 |         &mut *raw
[INFO] [stdout]     |              ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 382 | |         archetype: &'a Archetype,
[INFO] [stdout] 383 | |         index: u32,
[INFO] [stdout] 384 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 429 | |         archetype: &'a Archetype,
[INFO] [stdout] 430 | |         index: u32,
[INFO] [stdout] 431 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/query/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |             generation: meta.get_unchecked(id as usize).generation,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchRead<T>, n: usize) -> &'q T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchWrite<T>, n: usize) -> &'q mut T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |         Some(T::get(meta, fetch.0.as_ref()?, n))
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | /     unsafe fn get<'q>(
[INFO] [stdout] 245 | |         meta: &[EntityMeta],
[INFO] [stdout] 246 | |         fetch: &TryFetch<T::Fetch>,
[INFO] [stdout] 247 | |         n: usize,
[INFO] [stdout] 248 | |     ) -> Option<T::Item<'q>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:22
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:46
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:460:5
[INFO] [stdout]     |
[INFO] [stdout] 460 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:539:5
[INFO] [stdout]     |
[INFO] [stdout] 539 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:998:20
[INFO] [stdout]     |
[INFO] [stdout] 998 |         let item = Q::get(meta, &self.fetch, self.position);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:994:5
[INFO] [stdout]     |
[INFO] [stdout] 994 |     unsafe fn next<'a>(&mut self, meta: &[EntityMeta]) -> Option<Q::Item<'a>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1453:26
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1445:5
[INFO] [stdout]      |
[INFO] [stdout] 1445 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1642:26
[INFO] [stdout]      |
[INFO] [stdout] 1642 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1634:5
[INFO] [stdout]      |
[INFO] [stdout] 1634 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::View::<'q, Q>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1760:9
[INFO] [stdout]      |
[INFO] [stdout] 1760 |         self.view.get_unchecked(entity)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1759:5
[INFO] [stdout]      |
[INFO] [stdout] 1759 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::CachedQuery::<F>::get_state` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:2086:44
[INFO] [stdout]      |
[INFO] [stdout] 2086 |               let Some((archetype, state)) = self
[INFO] [stdout]      |  ____________________________________________^
[INFO] [stdout] 2087 | |                 .cache
[INFO] [stdout] 2088 | |                 .get_state(world.archetypes_inner(), self.archetypes.next()?)
[INFO] [stdout]      | |_____________________________________________________________________________^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:2084:5
[INFO] [stdout]      |
[INFO] [stdout] 2084 |     unsafe fn next(&mut self, world: &Substrate) -> Option<ChunkIter<Q>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entities::Entities::resolve_unknown_gen` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         self.entities.resolve_unknown_gen(id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub unsafe fn find_entity_from_id(&self, id: u32) -> Entity {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentRef::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:857:12
[INFO] [stdout]     |
[INFO] [stdout] 857 |           Ok(T::from_raw(
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 858 | |             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout] 862 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 848 | /     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stdout] 849 | |         &'a self,
[INFO] [stdout] 850 | |         entity: Entity,
[INFO] [stdout] 851 | |     ) -> Result<T, ComponentError> {
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout]     | |________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout]     | |________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/take/mod.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |               let ptr = self
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 47 | |                 .archetype
[INFO] [stdout] 48 | |                 .get_dynamic(ty.id(), ty.layout().size(), self.index)
[INFO] [stdout]    | |_____________________________________________________________________^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/take/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entity` is never constructed
[INFO] [stdout]   --> src/entity/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Entity<'a, T: EntityIdIntType> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `id`, and `raw_id` are never used
[INFO] [stdout]   --> src/entity/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a, T: EntityIdIntType> Entity<'a, T> {
[INFO] [stdout]    | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     #[inline(always)]
[INFO] [stdout] 17 |     pub fn new(id: EntityId<T>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn id(&self) -> EntityId<T> {
[INFO] [stdout]    |                  ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub const fn raw_id(&self) -> T {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityId` is never constructed
[INFO] [stdout]   --> src/entity/id/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct EntityId<T: EntityIdIntType>(T);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value` is never used
[INFO] [stdout]   --> src/entity/id/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<T: EntityIdIntType> EntityId<T> {
[INFO] [stdout]    | ------------------------------------ method in this implementation
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout] 21 |     pub const fn value(&self) -> T {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl EntityId<u128> {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |     #[inline]
[INFO] [stdout] 29 |     pub const fn new(index: u128, generation: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub const fn index(&self) -> u128 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub const fn generation(&self) -> u32 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl EntityId<u64> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 48 |     #[inline]
[INFO] [stdout] 49 |     pub const fn new(index: u64, generation: u16) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub const fn index(&self) -> u64 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub const fn generation(&self) -> u16 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stdout]   --> src/entity/id/mod.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl EntityId<u32> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 68 |     #[inline]
[INFO] [stdout] 69 |     pub const fn new(index: u32, generation: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub const fn index(&self) -> u32 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub const fn generation(&self) -> u8 {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `EntityIdIntType` is never used
[INFO] [stdout]  --> src/entity/id/int_type.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait EntityIdIntType:
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityContainer` is never constructed
[INFO] [stdout]  --> src/entity/container/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct EntityContainer {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `drop_in_place` with a pointer to a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/batch/mod.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                         base.as_ptr().add(i as usize).drop_in_place()
[INFO] [stdout]     |                         -----------------------------^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         argument has type `*mut u8`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_test v1.0.177
[INFO] [stderr]    Compiling trybuild v1.0.116
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stdout] warning: unused import: `self::container::*`
[INFO] [stdout]  --> src/entity/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use self::container::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:216:14
[INFO] [stdout]     |
[INFO] [stdout] 216 |           Some(NonNull::new_unchecked(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 217 | |             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | |                 .cast::<u8>(),
[INFO] [stdout] 223 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | /     pub(crate) unsafe fn get_dynamic(
[INFO] [stdout] 210 | |         &self,
[INFO] [stdout] 211 | |         ty: TypeId,
[INFO] [stdout] 212 | |         size: usize,
[INFO] [stdout] 213 | |         index: u32,
[INFO] [stdout] 214 | |     ) -> Option<NonNull<u8>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout] 219 | |                 .storage
[INFO] [stdout] 220 | |                 .as_ptr()
[INFO] [stdout] 221 | |                 .add(size * index as usize)
[INFO] [stdout]     | |___________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 | /             self.data
[INFO] [stdout] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stdout]     | |_____________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:323:27
[INFO] [stdout]     |
[INFO] [stdout] 323 |             let removed = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub(crate) unsafe fn remove(&mut self, index: u32, drop: bool) -> Option<u32> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:325:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 (ty.drop)(removed);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:328:29
[INFO] [stdout]     |
[INFO] [stdout] 328 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |                 ptr::copy_nonoverlapping(moved, removed, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:349:29
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let moved_out = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 342 | /     pub(crate) unsafe fn move_to(
[INFO] [stdout] 343 | |         &mut self,
[INFO] [stdout] 344 | |         index: u32,
[INFO] [stdout] 345 | |         mut f: impl FnMut(*mut u8, TypeId, usize),
[INFO] [stdout] 346 | |     ) -> Option<u32> {
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |                 ptr::copy_nonoverlapping(moved, moved_out, ty.layout.size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:372:19
[INFO] [stdout]     |
[INFO] [stdout] 372 |           let ptr = self
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 373 | |             .get_dynamic(ty, size, index)
[INFO] [stdout]     | |_________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 365 | /     pub(crate) unsafe fn put_dynamic(
[INFO] [stdout] 366 | |         &mut self,
[INFO] [stdout] 367 | |         component: *mut u8,
[INFO] [stdout] 368 | |         ty: TypeId,
[INFO] [stdout] 369 | |         size: usize,
[INFO] [stdout] 370 | |         index: u32,
[INFO] [stdout] 371 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |         ptr::copy_nonoverlapping(component, ptr, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::copy_from_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout] 401 | |                 .copy_from_nonoverlapping(
[INFO] [stdout] 402 | |                     src.storage.as_ptr(),
[INFO] [stdout] 403 | |                     other.len as usize * info.layout.size(),
[INFO] [stdout] 404 | |                 )
[INFO] [stdout]     | |_________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 |     pub(crate) unsafe fn merge(&mut self, mut other: Archetype) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 | /             dst.storage
[INFO] [stdout] 399 | |                 .as_ptr()
[INFO] [stdout] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stdout]     | |____________________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:532:13
[INFO] [stdout]     |
[INFO] [stdout] 532 |             x.cast::<T>().drop_in_place()
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:531:9
[INFO] [stdout]     |
[INFO] [stdout] 531 |         unsafe fn drop_ptr<T>(x: *mut u8) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/archetype/mod.rs:575:9
[INFO] [stdout]     |
[INFO] [stdout] 575 |         (self.drop)(data)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/archetype/mod.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 |     pub unsafe fn drop(&self, data: *mut u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/bundle/mod.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/bundle/mod.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 140 | / macro_rules! tuple_impl {
[INFO] [stdout] 141 | |     ($($name: ident),*) => {
[INFO] [stdout] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stdout] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stdout]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...   |
[INFO] [stdout] 222 | | }
[INFO] [stdout]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:27
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | /     unsafe fn grow(
[INFO] [stdout] 43 | |         min_size: usize,
[INFO] [stdout] 44 | |         cursor: usize,
[INFO] [stdout] 45 | |         align: usize,
[INFO] [stdout] 46 | |         storage: NonNull<u8>,
[INFO] [stdout] 47 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]    | |______________________________^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:49:50
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `command_buffer::CommandBuffer::grow` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let (new_storage, new_layout) = Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/command_buffer/mod.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     unsafe fn add_inner(&mut self, ptr: *mut u8, ty: TypeInfo) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/command_buffer/mod.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/command_buffer/mod.rs:257:23
[INFO] [stdout]     |
[INFO] [stdout] 257 |             let ptr = self.cmd.storage.as_ptr().add(info.offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/command_buffer/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let ptr = self.builder.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:251:23
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |             (clone.func)(ptr, &mut f);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:260:23
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     unsafe fn put_with_clone(self, mut f: impl FnMut(*mut u8, TypeInfo, DynamicClone)) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             (clone.func)(ptr, &mut |src, ty| f(src, ty, clone));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:27
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 | /     unsafe fn grow(
[INFO] [stdout] 318 | |         min_size: usize,
[INFO] [stdout] 319 | |         cursor: usize,
[INFO] [stdout] 320 | |         align: usize,
[INFO] [stdout] 321 | |         storage: NonNull<u8>,
[INFO] [stdout] 322 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:324:50
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:345:31
[INFO] [stdout]     |
[INFO] [stdout] 345 |                 let storage = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_builder/mod.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     unsafe fn add(&mut self, ptr: *mut u8, ty: TypeInfo, meta: M) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::TypeInfo::drop` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 ty.drop(storage);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 ptr::copy_nonoverlapping(ptr, storage, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_builder::Common::<M>::grow` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:359:25
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |                         dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:367:28
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let addr = self.storage.as_ptr().add(offset);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_builder/mod.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrow::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let (target, borrow) = ComponentBorrow::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 127 | |         archetype: &'a Archetype,
[INFO] [stdout] 128 | |         index: u32,
[INFO] [stdout] 129 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrowMut::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let (target, borrow) = ComponentBorrowMut::for_component::<T>(archetype, index)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) unsafe fn new(
[INFO] [stdout] 214 | |         archetype: &'a Archetype,
[INFO] [stdout] 215 | |         index: u32,
[INFO] [stdout] 216 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stdout]     | |_______________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:334:10
[INFO] [stdout]     |
[INFO] [stdout] 334 |         &*raw
[INFO] [stdout]     |          ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:354:14
[INFO] [stdout]     |
[INFO] [stdout] 354 |         &mut *raw
[INFO] [stdout]     |              ^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 382 | |         archetype: &'a Archetype,
[INFO] [stdout] 383 | |         index: u32,
[INFO] [stdout] 384 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:390:36
[INFO] [stdout]     |
[INFO] [stdout] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/entity_ref/mod.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 | /     unsafe fn for_component<T: Component>(
[INFO] [stdout] 429 | |         archetype: &'a Archetype,
[INFO] [stdout] 430 | |         index: u32,
[INFO] [stdout] 431 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stdout]     | |_____________________________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/entity_ref/mod.rs:437:36
[INFO] [stdout]     |
[INFO] [stdout] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/query/mod.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:91:18
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/query/mod.rs:94:25
[INFO] [stdout]    |
[INFO] [stdout] 94 |             generation: meta.get_unchecked(id as usize).generation,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchRead<T>, n: usize) -> &'q T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchWrite<T>, n: usize) -> &'q mut T {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |         Some(T::get(meta, fetch.0.as_ref()?, n))
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 | /     unsafe fn get<'q>(
[INFO] [stdout] 245 | |         meta: &[EntityMeta],
[INFO] [stdout] 246 | |         fetch: &TryFetch<T::Fetch>,
[INFO] [stdout] 247 | |         n: usize,
[INFO] [stdout] 248 | |     ) -> Option<T::Item<'q>> {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:22
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:393:46
[INFO] [stdout]     |
[INFO] [stdout] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:460:5
[INFO] [stdout]     |
[INFO] [stdout] 460 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         Q::get(meta, &fetch.0, n)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:539:5
[INFO] [stdout]     |
[INFO] [stdout] 539 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/query/mod.rs:998:20
[INFO] [stdout]     |
[INFO] [stdout] 998 |         let item = Q::get(meta, &self.fetch, self.position);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/query/mod.rs:994:5
[INFO] [stdout]     |
[INFO] [stdout] 994 |     unsafe fn next<'a>(&mut self, meta: &[EntityMeta]) -> Option<Q::Item<'a>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1149:13
[INFO] [stdout]      |
[INFO] [stdout] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1152:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 | / macro_rules! tuple_impl {
[INFO] [stdout] 1097 | |     ($($name: ident),*) => {
[INFO] [stdout] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stdout] 1099 | |             type State = ($($name::State,)*);
[INFO] [stdout] ...    |
[INFO] [stdout] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stdout]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...    |
[INFO] [stdout] 1157 | |     };
[INFO] [stdout] 1158 | | }
[INFO] [stdout]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stdout] ...
[INFO] [stdout] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stdout]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1453:26
[INFO] [stdout]      |
[INFO] [stdout] 1453 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1445:5
[INFO] [stdout]      |
[INFO] [stdout] 1445 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1642:26
[INFO] [stdout]      |
[INFO] [stdout] 1642 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1634:5
[INFO] [stdout]      |
[INFO] [stdout] 1634 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::View::<'q, Q>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:1760:9
[INFO] [stdout]      |
[INFO] [stdout] 1760 |         self.view.get_unchecked(entity)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:1759:5
[INFO] [stdout]      |
[INFO] [stdout] 1759 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `query::CachedQuery::<F>::get_state` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/query/mod.rs:2086:44
[INFO] [stdout]      |
[INFO] [stdout] 2086 |               let Some((archetype, state)) = self
[INFO] [stdout]      |  ____________________________________________^
[INFO] [stdout] 2087 | |                 .cache
[INFO] [stdout] 2088 | |                 .get_state(world.archetypes_inner(), self.archetypes.next()?)
[INFO] [stdout]      | |_____________________________________________________________________________^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/query/mod.rs:2084:5
[INFO] [stdout]      |
[INFO] [stdout] 2084 |     unsafe fn next(&mut self, world: &Substrate) -> Option<ChunkIter<Q>> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entities::Entities::resolve_unknown_gen` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         self.entities.resolve_unknown_gen(id)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:563:5
[INFO] [stdout]     |
[INFO] [stdout] 563 |     pub unsafe fn find_entity_from_id(&self, id: u32) -> Entity {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `entity_ref::ComponentRef::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:857:12
[INFO] [stdout]     |
[INFO] [stdout] 857 |           Ok(T::from_raw(
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 858 | |             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout] 862 | |         ))
[INFO] [stdout]     | |_________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/substrate/mod.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 848 | /     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stdout] 849 | |         &'a self,
[INFO] [stdout] 850 | |         entity: Entity,
[INFO] [stdout] 851 | |     ) -> Result<T, ComponentError> {
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout] 860 | |                 .as_ptr()
[INFO] [stdout] 861 | |                 .add(loc.index as usize),
[INFO] [stdout]     | |________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/substrate/mod.rs:858:13
[INFO] [stdout]     |
[INFO] [stdout] 858 | /             archetype
[INFO] [stdout] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stdout]     | |________________________________________________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/take/mod.rs:46:23
[INFO] [stdout]    |
[INFO] [stdout] 46 |               let ptr = self
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 47 | |                 .archetype
[INFO] [stdout] 48 | |                 .get_dynamic(ty.id(), ty.layout().size(), self.index)
[INFO] [stdout]    | |_____________________________________________________________________^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/take/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entity` is never constructed
[INFO] [stdout]   --> src/entity/mod.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Entity<'a, T: EntityIdIntType> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `id`, and `raw_id` are never used
[INFO] [stdout]   --> src/entity/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<'a, T: EntityIdIntType> Entity<'a, T> {
[INFO] [stdout]    | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     #[inline(always)]
[INFO] [stdout] 17 |     pub fn new(id: EntityId<T>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn id(&self) -> EntityId<T> {
[INFO] [stdout]    |                  ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub const fn raw_id(&self) -> T {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `SENTINEL` is never used
[INFO] [stdout]  --> src/entity/id/int_type.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait EntityIdIntType:
[INFO] [stdout]   |           --------------- associated constant in this trait
[INFO] [stdout] ...
[INFO] [stdout] 5 |     const SENTINEL: Self;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EntityContainer` is never constructed
[INFO] [stdout]  --> src/entity/container/mod.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct EntityContainer {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `drop_in_place` with a pointer to a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/batch/mod.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                         base.as_ptr().add(i as usize).drop_in_place()
[INFO] [stdout]     |                         -----------------------------^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         argument has type `*mut u8`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 49.32s
[INFO] running `Command { std: "docker" "inspect" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test batch::tests::writer_continues_from_last_fill ... ok
[INFO] [stdout] test change_tracker::tests::smoke ... ok
[INFO] [stdout] test batch::tests::concurrent_writers ... ok
[INFO] [stdout] test batch::tests::empty_batch ... ok
[INFO] [stdout] test command_buffer::tests::failed_insert_regression ... ok
[INFO] [stdout] test entities::tests::reserve_entities ... ok
[INFO] [stdout] test entities::tests::reserve_entity ... ok
[INFO] [stdout] test entities::tests::entity_bits_roundtrip ... ok
[INFO] [stdout] test command_buffer::tests::insert_then_queue ... ok
[INFO] [stdout] test entities::tests::alloc_and_free ... ok
[INFO] [stdout] test command_buffer::tests::insert_then_remove ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u128_index_max_96_bits ... ok
[INFO] [stdout] test entities::tests::alloc_at_regression ... ok
[INFO] [stdout] test entities::tests::alloc_at ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u32_index_max_48_bits ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u32_index_overflow_1_rollback ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u128 ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u128_index_overflow_2_rollback ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u64_index_overflow_2_rollback ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u64_index_max_48_bits ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u64_index_overflow_1_rollback ... ok
[INFO] [stdout] test query::tests::access_order ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u64 ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u32_index_overflow_2_rollback ... ok
[INFO] [stdout] test borrow::tests::test_borrow ... ok
[INFO] [stdout] test substrate::tests::deterministic_ids ... ok
[INFO] [stdout] test entities::tests::reserve_grows ... ok
[INFO] [stdout] test substrate::tests::clear_repeats_entity_id ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u128_index_overflow_1_rollback ... ok
[INFO] [stdout] test substrate::tests::bad_insert ... ok
[INFO] [stdout] test entities::tests::reserve_grows_mixed ... ok
[INFO] [stdout] test entity::tests::test ... ok
[INFO] [stdout] test substrate::tests::remove_nothing ... ok
[INFO] [stdout] test entity::id::tests::entity_id_u32 ... ok
[INFO] [stdout] test substrate::tests::spawn_at ... ok
[INFO] [stdout] test substrate::tests::reuse_empty ... ok
[INFO] [stdout] test substrate::tests::reuse_populated ... ok
[INFO] [stdout] test substrate::tests::single_element_freelist ... ok
[INFO] [stdout] test command_buffer::tests::populate_archetypes ... ok
[INFO] [stdout] test command_buffer::tests::remove_then_insert ... ok
[INFO] [stdout] test entities::tests::contains ... ok
[INFO] [stderr] warning: unused import: `self::container::*`
[INFO] [stderr]  --> src/entity/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use self::container::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:216:14
[INFO] [stderr]     |
[INFO] [stderr] 216 |           Some(NonNull::new_unchecked(
[INFO] [stderr]     |  ______________^
[INFO] [stderr] 217 | |             self.data
[INFO] [stderr] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stderr] 219 | |                 .storage
[INFO] [stderr] ...   |
[INFO] [stderr] 222 | |                 .cast::<u8>(),
[INFO] [stderr] 223 | |         ))
[INFO] [stderr]     | |_________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:209:5
[INFO] [stderr]     |
[INFO] [stderr] 209 | /     pub(crate) unsafe fn get_dynamic(
[INFO] [stderr] 210 | |         &self,
[INFO] [stderr] 211 | |         ty: TypeId,
[INFO] [stderr] 212 | |         size: usize,
[INFO] [stderr] 213 | |         index: u32,
[INFO] [stderr] 214 | |     ) -> Option<NonNull<u8>> {
[INFO] [stderr]     | |____________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:217:13
[INFO] [stderr]     |
[INFO] [stderr] 217 | /             self.data
[INFO] [stderr] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stderr] 219 | |                 .storage
[INFO] [stderr] 220 | |                 .as_ptr()
[INFO] [stderr] 221 | |                 .add(size * index as usize)
[INFO] [stderr]     | |___________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:217:13
[INFO] [stderr]     |
[INFO] [stderr] 217 | /             self.data
[INFO] [stderr] 218 | |                 .get_unchecked(*self.index.get(&ty)?)
[INFO] [stderr]     | |_____________________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:323:27
[INFO] [stderr]     |
[INFO] [stderr] 323 |             let removed = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:320:5
[INFO] [stderr]     |
[INFO] [stderr] 320 |     pub(crate) unsafe fn remove(&mut self, index: u32, drop: bool) -> Option<u32> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:325:17
[INFO] [stderr]     |
[INFO] [stderr] 325 |                 (ty.drop)(removed);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:328:29
[INFO] [stderr]     |
[INFO] [stderr] 328 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:329:17
[INFO] [stderr]     |
[INFO] [stderr] 329 |                 ptr::copy_nonoverlapping(moved, removed, ty.layout.size());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:349:29
[INFO] [stderr]     |
[INFO] [stderr] 349 |             let moved_out = data.storage.as_ptr().add(index as usize * ty.layout.size());
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:342:5
[INFO] [stderr]     |
[INFO] [stderr] 342 | /     pub(crate) unsafe fn move_to(
[INFO] [stderr] 343 | |         &mut self,
[INFO] [stderr] 344 | |         index: u32,
[INFO] [stderr] 345 | |         mut f: impl FnMut(*mut u8, TypeId, usize),
[INFO] [stderr] 346 | |     ) -> Option<u32> {
[INFO] [stderr]     | |____________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:352:29
[INFO] [stderr]     |
[INFO] [stderr] 352 |                 let moved = data.storage.as_ptr().add(last as usize * ty.layout.size());
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:353:17
[INFO] [stderr]     |
[INFO] [stderr] 353 |                 ptr::copy_nonoverlapping(moved, moved_out, ty.layout.size());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:372:19
[INFO] [stderr]     |
[INFO] [stderr] 372 |           let ptr = self
[INFO] [stderr]     |  ___________________^
[INFO] [stderr] 373 | |             .get_dynamic(ty, size, index)
[INFO] [stderr]     | |_________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:365:5
[INFO] [stderr]     |
[INFO] [stderr] 365 | /     pub(crate) unsafe fn put_dynamic(
[INFO] [stderr] 366 | |         &mut self,
[INFO] [stderr] 367 | |         component: *mut u8,
[INFO] [stderr] 368 | |         ty: TypeId,
[INFO] [stderr] 369 | |         size: usize,
[INFO] [stderr] 370 | |         index: u32,
[INFO] [stderr] 371 | |     ) {
[INFO] [stderr]     | |_____^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:377:9
[INFO] [stderr]     |
[INFO] [stderr] 377 |         ptr::copy_nonoverlapping(component, ptr, size);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::copy_from_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:398:13
[INFO] [stderr]     |
[INFO] [stderr] 398 | /             dst.storage
[INFO] [stderr] 399 | |                 .as_ptr()
[INFO] [stderr] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stderr] 401 | |                 .copy_from_nonoverlapping(
[INFO] [stderr] 402 | |                     src.storage.as_ptr(),
[INFO] [stderr] 403 | |                     other.len as usize * info.layout.size(),
[INFO] [stderr] 404 | |                 )
[INFO] [stderr]     | |_________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:395:5
[INFO] [stderr]     |
[INFO] [stderr] 395 |     pub(crate) unsafe fn merge(&mut self, mut other: Archetype) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:398:13
[INFO] [stderr]     |
[INFO] [stderr] 398 | /             dst.storage
[INFO] [stderr] 399 | |                 .as_ptr()
[INFO] [stderr] 400 | |                 .add(self.len as usize * info.layout.size())
[INFO] [stderr]     | |____________________________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:532:13
[INFO] [stderr]     |
[INFO] [stderr] 532 |             x.cast::<T>().drop_in_place()
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:531:9
[INFO] [stderr]     |
[INFO] [stderr] 531 |         unsafe fn drop_ptr<T>(x: *mut u8) {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stderr]    --> src/archetype/mod.rs:575:9
[INFO] [stderr]     |
[INFO] [stderr] 575 |         (self.drop)(data)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/archetype/mod.rs:574:5
[INFO] [stderr]     |
[INFO] [stderr] 574 |     pub unsafe fn drop(&self, data: *mut u8) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/bundle/mod.rs:218:23
[INFO] [stderr]     |
[INFO] [stderr] 140 | / macro_rules! tuple_impl {
[INFO] [stderr] 141 | |     ($($name: ident),*) => {
[INFO] [stderr] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stderr] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stderr] ...   |
[INFO] [stderr] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stderr]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr] ...   |
[INFO] [stderr] 222 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stderr] ...
[INFO] [stderr] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/bundle/mod.rs:211:13
[INFO] [stderr]     |
[INFO] [stderr] 211 |             unsafe fn get(mut f: impl FnMut(TypeInfo) -> Option<NonNull<u8>>) -> Result<Self, MissingComponent> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 229 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/bundle/mod.rs:218:23
[INFO] [stderr]     |
[INFO] [stderr] 140 | / macro_rules! tuple_impl {
[INFO] [stderr] 141 | |     ($($name: ident),*) => {
[INFO] [stderr] 142 | |         unsafe impl<$($name: Component),*> DynamicBundle for ($($name,)*) {
[INFO] [stderr] 143 | |             fn has<T: Component>(&self) -> bool {
[INFO] [stderr] ...   |
[INFO] [stderr] 218 | |                 Ok(($($name.read(),)*))
[INFO] [stderr]     | |                       ^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr] ...   |
[INFO] [stderr] 222 | | }
[INFO] [stderr]     | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stderr] ...
[INFO] [stderr] 229 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]     |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:49:27
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]   --> src/command_buffer/mod.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | /     unsafe fn grow(
[INFO] [stderr] 43 | |         min_size: usize,
[INFO] [stderr] 44 | |         cursor: usize,
[INFO] [stderr] 45 | |         align: usize,
[INFO] [stderr] 46 | |         storage: NonNull<u8>,
[INFO] [stderr] 47 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stderr]    | |______________________________^
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:49:50
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `command_buffer::CommandBuffer::grow` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:60:45
[INFO] [stderr]    |
[INFO] [stderr] 60 |             let (new_storage, new_layout) = Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]   --> src/command_buffer/mod.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     unsafe fn add_inner(&mut self, ptr: *mut u8, ty: TypeInfo) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:62:17
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:68:20
[INFO] [stderr]    |
[INFO] [stderr] 68 |         let addr = self.storage.as_ptr().add(offset);
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/command_buffer/mod.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 69 |         ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/command_buffer/mod.rs:257:23
[INFO] [stderr]     |
[INFO] [stderr] 257 |             let ptr = self.cmd.storage.as_ptr().add(info.offset);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/command_buffer/mod.rs:253:5
[INFO] [stderr]     |
[INFO] [stderr] 253 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:122:23
[INFO] [stderr]     |
[INFO] [stderr] 122 |             let ptr = self.builder.storage.as_ptr().add(offset);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_builder/mod.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:251:23
[INFO] [stderr]     |
[INFO] [stderr] 251 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_builder/mod.rs:249:5
[INFO] [stderr]     |
[INFO] [stderr] 249 |     unsafe fn put(self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:252:13
[INFO] [stderr]     |
[INFO] [stderr] 252 |             (clone.func)(ptr, &mut f);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:260:23
[INFO] [stderr]     |
[INFO] [stderr] 260 |             let ptr = self.0.storage.as_ptr().add(offset);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_builder/mod.rs:258:5
[INFO] [stderr]     |
[INFO] [stderr] 258 |     unsafe fn put_with_clone(self, mut f: impl FnMut(*mut u8, TypeInfo, DynamicClone)) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:261:13
[INFO] [stderr]     |
[INFO] [stderr] 261 |             (clone.func)(ptr, &mut |src, ty| f(src, ty, clone));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:324:27
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_builder/mod.rs:317:5
[INFO] [stderr]     |
[INFO] [stderr] 317 | /     unsafe fn grow(
[INFO] [stderr] 318 | |         min_size: usize,
[INFO] [stderr] 319 | |         cursor: usize,
[INFO] [stderr] 320 | |         align: usize,
[INFO] [stderr] 321 | |         storage: NonNull<u8>,
[INFO] [stderr] 322 | |     ) -> (NonNull<u8>, Layout) {
[INFO] [stderr]     | |______________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `alloc::alloc::alloc` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:324:50
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let new_storage = NonNull::new_unchecked(alloc(layout));
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 |         ptr::copy_nonoverlapping(storage.as_ptr(), new_storage.as_ptr(), cursor);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:345:31
[INFO] [stderr]     |
[INFO] [stderr] 345 |                 let storage = self.storage.as_ptr().add(offset);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_builder/mod.rs:340:5
[INFO] [stderr]     |
[INFO] [stderr] 340 |     unsafe fn add(&mut self, ptr: *mut u8, ty: TypeInfo, meta: M) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::TypeInfo::drop` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:348:17
[INFO] [stderr]     |
[INFO] [stderr] 348 |                 ty.drop(storage);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:351:17
[INFO] [stderr]     |
[INFO] [stderr] 351 |                 ptr::copy_nonoverlapping(ptr, storage, ty.layout().size());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `entity_builder::Common::<M>::grow` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:359:25
[INFO] [stderr]     |
[INFO] [stderr] 359 |                         Self::grow(end, self.cursor, new_align, self.storage);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `alloc::alloc::dealloc` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:361:25
[INFO] [stderr]     |
[INFO] [stderr] 361 |                         dealloc(self.storage.as_ptr(), self.layout);
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:367:28
[INFO] [stderr]     |
[INFO] [stderr] 367 |                 let addr = self.storage.as_ptr().add(offset);
[INFO] [stderr]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::copy_nonoverlapping` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_builder/mod.rs:368:17
[INFO] [stderr]     |
[INFO] [stderr] 368 |                 ptr::copy_nonoverlapping(ptr, addr, ty.layout().size());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrow::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:130:32
[INFO] [stderr]     |
[INFO] [stderr] 130 |         let (target, borrow) = ComponentBorrow::for_component::<T>(archetype, index)?;
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 | /     pub(crate) unsafe fn new(
[INFO] [stderr] 127 | |         archetype: &'a Archetype,
[INFO] [stderr] 128 | |         index: u32,
[INFO] [stderr] 129 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stderr]     | |_______________________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `entity_ref::ComponentBorrowMut::<'a>::for_component` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:217:32
[INFO] [stderr]     |
[INFO] [stderr] 217 |         let (target, borrow) = ComponentBorrowMut::for_component::<T>(archetype, index)?;
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:213:5
[INFO] [stderr]     |
[INFO] [stderr] 213 | /     pub(crate) unsafe fn new(
[INFO] [stderr] 214 | |         archetype: &'a Archetype,
[INFO] [stderr] 215 | |         index: u32,
[INFO] [stderr] 216 | |     ) -> Result<Self, MissingComponent> {
[INFO] [stderr]     | |_______________________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:334:10
[INFO] [stderr]     |
[INFO] [stderr] 334 |         &*raw
[INFO] [stderr]     |          ^^^^ dereference of raw pointer
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:333:5
[INFO] [stderr]     |
[INFO] [stderr] 333 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:354:14
[INFO] [stderr]     |
[INFO] [stderr] 354 |         &mut *raw
[INFO] [stderr]     |              ^^^^ dereference of raw pointer
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:353:5
[INFO] [stderr]     |
[INFO] [stderr] 353 |     unsafe fn from_raw(raw: *mut Self::Component) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:390:13
[INFO] [stderr]     |
[INFO] [stderr] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:381:5
[INFO] [stderr]     |
[INFO] [stderr] 381 | /     unsafe fn for_component<T: Component>(
[INFO] [stderr] 382 | |         archetype: &'a Archetype,
[INFO] [stderr] 383 | |         index: u32,
[INFO] [stderr] 384 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stderr]     | |_____________________________________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:390:36
[INFO] [stderr]     |
[INFO] [stderr] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:390:36
[INFO] [stderr]     |
[INFO] [stderr] 390 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:437:13
[INFO] [stderr]     |
[INFO] [stderr] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/entity_ref/mod.rs:428:5
[INFO] [stderr]     |
[INFO] [stderr] 428 | /     unsafe fn for_component<T: Component>(
[INFO] [stderr] 429 | |         archetype: &'a Archetype,
[INFO] [stderr] 430 | |         index: u32,
[INFO] [stderr] 431 | |     ) -> Result<(NonNull<T>, Self), MissingComponent> {
[INFO] [stderr]     | |_____________________________________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:437:36
[INFO] [stderr]     |
[INFO] [stderr] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/entity_ref/mod.rs:437:36
[INFO] [stderr]     |
[INFO] [stderr] 437 |             NonNull::new_unchecked(archetype.get_base::<T>(state).as_ptr().add(index as usize));
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::read` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/query/mod.rs:91:18
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]   --> src/query/mod.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/query/mod.rs:91:18
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let id = fetch.0.as_ptr().add(n).read();
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/query/mod.rs:94:25
[INFO] [stderr]    |
[INFO] [stderr] 94 |             generation: meta.get_unchecked(id as usize).generation,
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:136:10
[INFO] [stderr]     |
[INFO] [stderr] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchRead<T>, n: usize) -> &'q T {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:136:11
[INFO] [stderr]     |
[INFO] [stderr] 136 |         &*fetch.0.as_ptr().add(n)
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:191:14
[INFO] [stderr]     |
[INFO] [stderr] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stderr]     |
[INFO] [stderr]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:190:5
[INFO] [stderr]     |
[INFO] [stderr] 190 |     unsafe fn get<'q>(_: &[EntityMeta], fetch: &FetchWrite<T>, n: usize) -> &'q mut T {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:191:15
[INFO] [stderr]     |
[INFO] [stderr] 191 |         &mut *fetch.0.as_ptr().add(n)
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:249:14
[INFO] [stderr]     |
[INFO] [stderr] 249 |         Some(T::get(meta, fetch.0.as_ref()?, n))
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:244:5
[INFO] [stderr]     |
[INFO] [stderr] 244 | /     unsafe fn get<'q>(
[INFO] [stderr] 245 | |         meta: &[EntityMeta],
[INFO] [stderr] 246 | |         fetch: &TryFetch<T::Fetch>,
[INFO] [stderr] 247 | |         n: usize,
[INFO] [stderr] 248 | |     ) -> Option<T::Item<'q>> {
[INFO] [stderr]     | |____________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:393:22
[INFO] [stderr]     |
[INFO] [stderr] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:389:5
[INFO] [stderr]     |
[INFO] [stderr] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:393:46
[INFO] [stderr]     |
[INFO] [stderr] 393 |             .map(|l| L::get(meta, l, n), |r| R::get(meta, r, n))
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:389:5
[INFO] [stderr]     |
[INFO] [stderr] 389 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:461:9
[INFO] [stderr]     |
[INFO] [stderr] 461 |         Q::get(meta, &fetch.0, n)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:460:5
[INFO] [stderr]     |
[INFO] [stderr] 460 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:540:9
[INFO] [stderr]     |
[INFO] [stderr] 540 |         Q::get(meta, &fetch.0, n)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:539:5
[INFO] [stderr]     |
[INFO] [stderr] 539 |     unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/query/mod.rs:998:20
[INFO] [stderr]     |
[INFO] [stderr] 998 |         let item = Q::get(meta, &self.fetch, self.position);
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/query/mod.rs:994:5
[INFO] [stderr]     |
[INFO] [stderr] 994 |     unsafe fn next<'a>(&mut self, meta: &[EntityMeta]) -> Option<Q::Item<'a>> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:1152:20
[INFO] [stderr]      |
[INFO] [stderr] 1096 | / macro_rules! tuple_impl {
[INFO] [stderr] 1097 | |     ($($name: ident),*) => {
[INFO] [stderr] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stderr] 1099 | |             type State = ($($name::State,)*);
[INFO] [stderr] ...    |
[INFO] [stderr] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stderr]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr] ...    |
[INFO] [stderr] 1157 | |     };
[INFO] [stderr] 1158 | | }
[INFO] [stderr]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stderr] ...
[INFO] [stderr] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> src/query/mod.rs:1149:13
[INFO] [stderr]      |
[INFO] [stderr] 1149 |             unsafe fn get<'q>(meta: &[EntityMeta], fetch: &Self::Fetch, n: usize) -> Self::Item<'q> {
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1161 | smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:1152:20
[INFO] [stderr]      |
[INFO] [stderr] 1096 | / macro_rules! tuple_impl {
[INFO] [stderr] 1097 | |     ($($name: ident),*) => {
[INFO] [stderr] 1098 | |         unsafe impl<$($name: Fetch),*> Fetch for ($($name,)*) {
[INFO] [stderr] 1099 | |             type State = ($($name::State,)*);
[INFO] [stderr] ...    |
[INFO] [stderr] 1152 | |                 ($($name::get(meta, $name, n),)*)
[INFO] [stderr]      | |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr] ...    |
[INFO] [stderr] 1157 | |     };
[INFO] [stderr] 1158 | | }
[INFO] [stderr]      | |_- this warning originates in the macro `tuple_impl` which comes from the expansion of the macro `smaller_tuples_too`
[INFO] [stderr] ...
[INFO] [stderr] 1161 |   smaller_tuples_too!(tuple_impl, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A);
[INFO] [stderr]      |   ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:1453:26
[INFO] [stderr]      |
[INFO] [stderr] 1453 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> src/query/mod.rs:1445:5
[INFO] [stderr]      |
[INFO] [stderr] 1445 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::Query::get` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:1642:26
[INFO] [stderr]      |
[INFO] [stderr] 1642 |             .map(|fetch| Q::get(self.meta, fetch, meta.location.index as usize))
[INFO] [stderr]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> src/query/mod.rs:1634:5
[INFO] [stderr]      |
[INFO] [stderr] 1634 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::View::<'q, Q>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:1760:9
[INFO] [stderr]      |
[INFO] [stderr] 1760 |         self.view.get_unchecked(entity)
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> src/query/mod.rs:1759:5
[INFO] [stderr]      |
[INFO] [stderr] 1759 |     pub unsafe fn get_unchecked(&self, entity: Entity) -> Option<Q::Item<'_>> {
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `query::CachedQuery::<F>::get_state` is unsafe and requires unsafe block
[INFO] [stderr]     --> src/query/mod.rs:2086:44
[INFO] [stderr]      |
[INFO] [stderr] 2086 |               let Some((archetype, state)) = self
[INFO] [stderr]      |  ____________________________________________^
[INFO] [stderr] 2087 | |                 .cache
[INFO] [stderr] 2088 | |                 .get_state(world.archetypes_inner(), self.archetypes.next()?)
[INFO] [stderr]      | |_____________________________________________________________________________^ call to unsafe function
[INFO] [stderr]      |
[INFO] [stderr]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]     --> src/query/mod.rs:2084:5
[INFO] [stderr]      |
[INFO] [stderr] 2084 |     unsafe fn next(&mut self, world: &Substrate) -> Option<ChunkIter<Q>> {
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `entities::Entities::resolve_unknown_gen` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/substrate/mod.rs:564:9
[INFO] [stderr]     |
[INFO] [stderr] 564 |         self.entities.resolve_unknown_gen(id)
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/substrate/mod.rs:563:5
[INFO] [stderr]     |
[INFO] [stderr] 563 |     pub unsafe fn find_entity_from_id(&self, id: u32) -> Entity {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `entity_ref::ComponentRef::from_raw` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/substrate/mod.rs:857:12
[INFO] [stderr]     |
[INFO] [stderr] 857 |           Ok(T::from_raw(
[INFO] [stderr]     |  ____________^
[INFO] [stderr] 858 | |             archetype
[INFO] [stderr] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stderr] 860 | |                 .as_ptr()
[INFO] [stderr] 861 | |                 .add(loc.index as usize),
[INFO] [stderr] 862 | |         ))
[INFO] [stderr]     | |_________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/substrate/mod.rs:848:5
[INFO] [stderr]     |
[INFO] [stderr] 848 | /     pub unsafe fn get_unchecked<'a, T: ComponentRef<'a>>(
[INFO] [stderr] 849 | |         &'a self,
[INFO] [stderr] 850 | |         entity: Entity,
[INFO] [stderr] 851 | |     ) -> Result<T, ComponentError> {
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/substrate/mod.rs:858:13
[INFO] [stderr]     |
[INFO] [stderr] 858 | /             archetype
[INFO] [stderr] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stderr] 860 | |                 .as_ptr()
[INFO] [stderr] 861 | |                 .add(loc.index as usize),
[INFO] [stderr]     | |________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::Archetype::get_base` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/substrate/mod.rs:858:13
[INFO] [stderr]     |
[INFO] [stderr] 858 | /             archetype
[INFO] [stderr] 859 | |                 .get_base::<T::Component>(state)
[INFO] [stderr]     | |________________________________________________^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `archetype::Archetype::get_dynamic` is unsafe and requires unsafe block
[INFO] [stderr]   --> src/take/mod.rs:46:23
[INFO] [stderr]    |
[INFO] [stderr] 46 |               let ptr = self
[INFO] [stderr]    |  _______________________^
[INFO] [stderr] 47 | |                 .archetype
[INFO] [stderr] 48 | |                 .get_dynamic(ty.id(), ty.layout().size(), self.index)
[INFO] [stderr]    | |_____________________________________________________________________^ call to unsafe function
[INFO] [stderr]    |
[INFO] [stderr]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]   --> src/take/mod.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     unsafe fn put(mut self, mut f: impl FnMut(*mut u8, TypeInfo)) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Entity` is never constructed
[INFO] [stderr]   --> src/entity/mod.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Entity<'a, T: EntityIdIntType> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `id`, and `raw_id` are never used
[INFO] [stderr]   --> src/entity/mod.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl<'a, T: EntityIdIntType> Entity<'a, T> {
[INFO] [stderr]    | ------------------------------------------ associated items in this implementation
[INFO] [stderr] 16 |     #[inline(always)]
[INFO] [stderr] 17 |     pub fn new(id: EntityId<T>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub const fn id(&self) -> EntityId<T> {
[INFO] [stderr]    |                  ^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub const fn raw_id(&self) -> T {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EntityId` is never constructed
[INFO] [stderr]   --> src/entity/id/mod.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct EntityId<T: EntityIdIntType>(T);
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `value` is never used
[INFO] [stderr]   --> src/entity/id/mod.rs:21:18
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl<T: EntityIdIntType> EntityId<T> {
[INFO] [stderr]    | ------------------------------------ method in this implementation
[INFO] [stderr] 20 |     #[inline(always)]
[INFO] [stderr] 21 |     pub const fn value(&self) -> T {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stderr]   --> src/entity/id/mod.rs:29:18
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl EntityId<u128> {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 28 |     #[inline]
[INFO] [stderr] 29 |     pub const fn new(index: u128, generation: u32) -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub const fn index(&self) -> u128 {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub const fn generation(&self) -> u32 {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stderr]   --> src/entity/id/mod.rs:49:18
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl EntityId<u64> {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 48 |     #[inline]
[INFO] [stderr] 49 |     pub const fn new(index: u64, generation: u16) -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub const fn index(&self) -> u64 {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub const fn generation(&self) -> u16 {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `index`, and `generation` are never used
[INFO] [stderr]   --> src/entity/id/mod.rs:69:18
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl EntityId<u32> {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 68 |     #[inline]
[INFO] [stderr] 69 |     pub const fn new(index: u32, generation: u8) -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub const fn index(&self) -> u32 {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub const fn generation(&self) -> u8 {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `EntityIdIntType` is never used
[INFO] [stderr]  --> src/entity/id/int_type.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub trait EntityIdIntType:
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EntityContainer` is never constructed
[INFO] [stderr]  --> src/entity/container/mod.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct EntityContainer {}
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `drop_in_place` with a pointer to a value that implements `Copy` does nothing
[INFO] [stderr]    --> src/batch/mod.rs:121:25
[INFO] [stderr]     |
[INFO] [stderr] 121 |                         base.as_ptr().add(i as usize).drop_in_place()
[INFO] [stderr]     |                         -----------------------------^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         argument has type `*mut u8`
[INFO] [stderr]     |
[INFO] [stderr]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0133`.
[INFO] [stderr] warning: `ecsx` (lib) generated 140 warnings (54 duplicates) (run `cargo fix --lib -p ecsx` to apply 40 suggestions)
[INFO] [stderr] warning: associated constant `SENTINEL` is never used
[INFO] [stderr]  --> src/entity/id/int_type.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub trait EntityIdIntType:
[INFO] [stderr]   |           --------------- associated constant in this trait
[INFO] [stderr] ...
[INFO] [stderr] 5 |     const SENTINEL: Self;
[INFO] [stderr]   |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ecsx` (lib test) generated 135 warnings (134 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/ecsx/8ee2db0ccf1f8204/out/ecsx-8ee2db0ccf1f8204)
[INFO] [stdout] test borrow::tests::test_borrow_counter_overflow - should panic ... ok
[INFO] [stdout] test batch::tests::aliasing_writers - should panic ... ok
[INFO] [stdout] test borrow::tests::test_mut_borrow_counter_overflow - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/derive.rs (/opt/rustwide/target/release/build/ecsx/6cff88082ed3cd69/out/derive-6cff88082ed3cd69)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tests.rs (/opt/rustwide/target/release/build/ecsx/d71a65d35d42cced/out/tests-d71a65d35d42cced)
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test build_builder_clone ... ok
[INFO] [stdout] test cache_invalidation ... ok
[INFO] [stdout] test cloned_builder ... ok
[INFO] [stdout] test access_builder_components ... ok
[INFO] [stdout] test build_entity_clone ... ok
[INFO] [stdout] test clear ... ok
[INFO] [stdout] test build_entity ... ok
[INFO] [stdout] test build_entity_bundle ... ok
[INFO] [stdout] test columnar_access ... ok
[INFO] [stdout] test empty_archetype_conflict ... ok
[INFO] [stdout] test despawn_buffered_entity ... ok
[INFO] [stdout] test empty_entity_ref ... ok
[INFO] [stdout] test entity_generation_regression ... ok
[INFO] [stdout] test exchange_components ... ok
[INFO] [stdout] test despawn ... ok
[INFO] [stdout] test component_ref_map ... ok
[INFO] [stdout] test disjoint_queries ... ok
[INFO] [stdout] test prepare_query ... ok
[INFO] [stdout] test dynamic_components ... ok
[INFO] [stdout] test len ... ok
[INFO] [stdout] test invalidate_prepared_query ... ok
[INFO] [stdout] test query_many ... ok
[INFO] [stdout] test query_mut_batched ... ok
[INFO] [stdout] test query_missing_component ... ok
[INFO] [stdout] test query_batched ... ok
[INFO] [stdout] test query_all ... ok
[INFO] [stdout] test query_single_component ... ok
[INFO] [stdout] test query_sparse_component ... ok
[INFO] [stdout] test random_access ... ok
[INFO] [stdout] test query_one ... ok
[INFO] [stdout] test remove_buffered_component ... ok
[INFO] [stdout] test random_access_via_view_mut ... ok
[INFO] [stdout] test reserve ... ok
[INFO] [stdout] test query_optional_component ... ok
[INFO] [stdout] test random_access_via_view ... ok
[INFO] [stdout] test shared_borrow ... ok
[INFO] [stdout] test query_or ... ok
[INFO] [stdout] test spawn_buffered_entity ... ok
[INFO] [stdout] test remove_missing ... ok
[INFO] [stdout] test spawn_batch ... ok
[INFO] [stdout] test spawn_column_batch ... ok
[INFO] [stdout] test view_mut_on_world ... ok
[INFO] [stdout] test view_borrow_on_world ... ok
[INFO] [stdout] test take ... ok
[INFO] [stdout] test spawn_many ... ok
[INFO] [stdout] test illegal_borrow - should panic ... ok
[INFO] [stdout] test illegal_query_one_borrow_2 - should panic ... ok
[INFO] [stdout] test duplicate_components_panic - should panic ... ok
[INFO] [stdout] test illegal_query_one_mut_borrow - should panic ... ok
[INFO] [stdout] test illegal_query_one_borrow - should panic ... ok
[INFO] [stdout] test illegal_query_mut_borrow - should panic ... ok
[INFO] [stdout] test illegal_borrow_2 - should panic ... ok
[INFO] [stdout] test illegal_query_one_mut_borrow_2 - should panic ... ok
[INFO] [stdout] test query_many_duplicate - should panic ... ok
[INFO] [stdout] test illegal_random_access - should panic ... ok
[INFO] [stdout] test simultaneous_access_must_be_non_overlapping - should panic ... ok
[INFO] [stdout] test view_mut_panic - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ecsx
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test src/entity_ref/mod.rs - entity_ref::Ref<'a,T>::map (line 150) - compile ... ok
[INFO] [stdout] test src/entity_ref/mod.rs - entity_ref::RefMut<'a,T>::map (line 237) - compile ... ok
[INFO] [stdout] test src/query/mod.rs - query::Satisfies (line 595) ... ok
[INFO] [stdout] test src/query/mod.rs - query::QueryBorrow<'w,Q>::without (line 745) ... ok
[INFO] [stdout] test src/query/mod.rs - query::ViewBorrow<'w,Q>::get_disjoint_mut (line 1771) ... ok
[INFO] [stdout] test src/command_buffer/mod.rs - command_buffer::CommandBuffer (line 18) ... ok
[INFO] [stdout] test src/lib.rs - (line 13) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::query_one (line 454) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::remove (line 714) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::spawn_at (line 122) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::iter (line 573) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::spawn_batch (line 180) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::spawn (line 94) ... ok
[INFO] [stdout] test src/query/mod.rs - query::Without (line 441) ... ok
[INFO] [stdout] test src/entity_ref/mod.rs - entity_ref::EntityRef<'a>::get (line 59) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::archetypes_generation (line 912) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::insert (line 595) ... ok
[INFO] [stdout] test src/substrate/mod.rs - substrate::Substrate::query (line 383) ... ok
[INFO] [stdout] test src/query/mod.rs - query::QueryBorrow<'w,Q>::with (line 721) ... ok
[INFO] [stdout] test src/query/mod.rs - query::With (line 518) ... ok
[INFO] [stdout] test src/entity_builder/mod.rs - entity_builder::EntityBuilder (line 16) ... ok
[INFO] [stdout] test src/../README.md - readme_doctest (line 14) ... ok
[INFO] [stdout] test src/query/mod.rs - query::View<'q,Q>::get_disjoint_mut (line 1462) ... ok
[INFO] [stdout] test src/bundle/mod.rs - bundle::DynamicBundle::has (line 40) ... ok
[INFO] [stdout] test src/entity_ref/mod.rs - entity_ref::EntityRef<'a>::query (line 80) ... ok
[INFO] [stdout] test src/entity_builder/mod.rs - entity_builder::EntityBuilderClone (line 138) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 5.30s; merged doctests compilation took 3.98s
[INFO] running `Command { std: "docker" "inspect" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876", kill_on_drop: false }`
[INFO] [stdout] c79233b45a45d03362cabe6891186472d62772a678f6b6c20153f463b364a876
