#![cfg_attr(all(not(test), not(feature = "std")), no_std)]
#![cfg_attr(
any(feature = "nightly", coverage_nightly),
feature(coverage_attribute)
)]
#![cfg_attr(all(feature = "nightly", feature = "alloc"), feature(allocator_api))]
#![cfg_attr(feature = "nightly", feature(doc_cfg))]
#![cfg_attr(feature = "nightly", feature(marker_trait_attr))]
#![cfg_attr(feature = "nightly", doc(auto_cfg))]
#[cfg(all(feature = "alloc", feature = "nightly"))]
extern crate alloc as stdalloc;
mod core;
pub use crate::core::{
Align, Aligned, Alignment, DynAlign, Misaligned, Padding, Unpadded, align, aligned, misaligned,
padding,
};
#[cfg(feature = "alloc")]
mod alloc;
#[cfg(feature = "alloc")]
pub use crate::alloc::{DynOveralign, DynUnderalign, Overalign, Underalign};