diff --git a/api/cpp/include/slint_sharedvector.h b/api/cpp/include/slint_sharedvector.h index e0d755251e3..2de1047cda3 100644 --- a/api/cpp/include/slint_sharedvector.h +++ b/api/cpp/include/slint_sharedvector.h @@ -218,7 +218,7 @@ struct SharedVector #if !defined(DOXYGEN) // Unfortunately, this cannot be generated by cbindgen because std::atomic is not understood - struct SharedVectorHeader + struct alignas(8) SharedVectorHeader { std::atomic refcount; std::size_t size; diff --git a/internal/core/sharedvector.rs b/internal/core/sharedvector.rs index c413f919f17..135693ec356 100644 --- a/internal/core/sharedvector.rs +++ b/internal/core/sharedvector.rs @@ -11,7 +11,7 @@ use core::ptr::NonNull; use portable_atomic as atomic; -#[repr(C)] +#[repr(C, align(8))] struct SharedVectorHeader { refcount: atomic::AtomicIsize, size: usize,