1 unstable release
0.1.0 | Mar 25, 2022 |
---|
#271 in No standard library
Used in 4 crates
9KB
114 lines
testaso
Macro to test alignment, size and offsets of structs
This is mostly useful for creating FFI structures.
The crucial field offset calculation was extracted from the memoffset
crate.
Kudos to Gilad Naaman and Ralf Jung and all the other contributors.
Examples
#[repr(C)]
struct Simple {
a: u32,
b: [u8; 2],
c: i64,
}
#[repr(C, packed)]
struct SimplePacked {
a: u32,
b: [u8; 2],
c: i64,
}
#[cfg(test)]
mod test {
use testaso::testaso;
use super::Simple;
use super::SimplePacked;
testaso! {
struct Simple: 8, 16 => {
a: 0,
b: 4,
c: 8
}
struct SimplePacked: 1, 14 => {
a: 0,
b: 4,
c: 6
}
}
}
License: MIT