#![forbid(unsafe_code)]
#![deny(clippy::all)]
#![cfg_attr(feature = "nightly", feature(min_specialization))]
#![cfg_attr(not(any(feature = "codec", feature = "std")), no_std)]
#[macro_use]
extern crate alloc;
extern crate self as radiation;
#[cfg(feature = "derive")]
pub use radiation_macros::{Absorb, Emit, Limit};
pub use nom;
mod absorb;
pub use self::absorb::{
Absorb, AbsorbExt, ParseError, ParseErrorKind, Limit, LimitDescriptor, LimitError,
};
mod emit;
pub use self::emit::{RadiationBuffer, Emit};
#[cfg(all(test, feature = "derive"))]
mod tests;
#[derive(Default, Debug, Clone, PartialEq, Eq)]
pub struct DynSized<T>(pub T);
#[derive(Default, Debug, Clone, PartialEq, Eq)]
pub struct Collection<C>(pub C);
#[cfg(feature = "codec")]
pub mod codec;
#[cfg(feature = "dilithium")]
mod dil;