diff --git a/src/error/error_impl_small.rs b/src/error/error_impl_small.rs index 6ff7c78..3d9a3f3 100644 --- a/src/error/error_impl_small.rs +++ b/src/error/error_impl_small.rs @@ -10,6 +10,7 @@ pub(crate) struct ErrorImpl { inner: &'static mut Inner, } +#[repr(C)] // Dynamically sized inner value struct Inner { backtrace: Backtrace, @@ -25,18 +26,21 @@ extern { type FailData; } +#[repr(C)] #[allow(dead_code)] struct InnerRaw { header: InnerHeader, failure: F, } +#[repr(C)] #[allow(dead_code)] struct InnerHeader { backtrace: Backtrace, vtable: *const VTable, } +#[repr(C)] struct TraitObject { #[allow(dead_code)] data: *const FailData,