From 12a11e2fd0f7f6c1b907daa2782898c6f3097d1e Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Wed, 13 Dec 2023 02:36:49 +0000 Subject: [PATCH] Actually check alignment in BlobVec test aligned_zst (#10885) Do not rely on Miri. --------- Co-authored-by: James Liu --- crates/bevy_ecs/src/storage/blob_vec.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/bevy_ecs/src/storage/blob_vec.rs b/crates/bevy_ecs/src/storage/blob_vec.rs index 416ce2d964c5f..a63c314fd9aa8 100644 --- a/crates/bevy_ecs/src/storage/blob_vec.rs +++ b/crates/bevy_ecs/src/storage/blob_vec.rs @@ -472,7 +472,7 @@ mod tests { use crate::{component::Component, ptr::OwningPtr, world::World}; use super::BlobVec; - use std::{alloc::Layout, cell::RefCell, rc::Rc}; + use std::{alloc::Layout, cell::RefCell, mem, rc::Rc}; // SAFETY: The pointer points to a valid value of type `T` and it is safe to drop this value. unsafe fn drop_ptr(x: OwningPtr<'_>) { @@ -626,7 +626,9 @@ mod tests { let mut count = 0; let mut q = world.query::<&Zst>(); - for &Zst in q.iter(&world) { + for zst in q.iter(&world) { + // Ensure that the references returned are properly aligned. + assert_eq!(zst as *const Zst as usize % mem::align_of::(), 0); count += 1; }