Macro static_assertions::assert_eq_size
[−]
[src]
macro_rules! assert_eq_size { ($x:ty, $($xs:ty),+ $(,)*) => { ... }; ($label:ident; $($xs:tt)+) => { ... }; }
Asserts at compile-time that the types have equal sizes.
Example
struct Byte(u8); assert_eq_size!(pair; (u16, u16), [u16; 2], [u8; 4]); // Fails to compile (same label): // assert_eq_size!(pair; u8, u8); fn main() { assert_eq_size!(Byte, u8); // Supports unlimited arguments: assert_eq_size!([Byte; 4], [u16; 2], u32); // Produces a compilation failure: // assert_eq_size!(Byte, u16); }