#![no_std]
#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![warn(clippy::pedantic)]
#![warn(clippy::nursery)]
#[macro_export]
macro_rules! assert_size {
($t:ty, $size:expr) => {
const _: [(); $size] = [(); core::mem::size_of::<$t>()];
};
}
#[cfg(test)]
mod tests {
use super::assert_size;
#[test]
const fn zst() {
assert_size!((), 0); }
#[test]
const fn bool() {
assert_size!(bool, 1); }
#[test]
const fn array() {
assert_size!([u8; 3], 3); }
#[test]
const fn struct_() {
#[allow(dead_code)]
struct S {
a: u8, b: u16, }
assert_size!(S, 4); }
#[test]
const fn enum_() {
#[allow(dead_code)]
enum E {
A, B(u8), C(u16), }
assert_size!(E, 4); }
}