radiation/
lib.rs

1// Copyright 2022 Vladislav Melnik
2// SPDX-License-Identifier: MIT
3
4#![forbid(unsafe_code)]
5#![deny(clippy::all)]
6#![cfg_attr(feature = "nightly", feature(min_specialization))]
7#![cfg_attr(not(any(feature = "codec", feature = "std")), no_std)]
8
9#[macro_use]
10extern crate alloc;
11
12extern crate self as radiation;
13
14#[cfg(feature = "derive")]
15pub use radiation_macros::{Absorb, Emit, Limit};
16
17pub use nom;
18
19mod absorb;
20pub use self::absorb::{
21    Absorb, AbsorbExt, ParseError, ParseErrorKind, Limit, LimitDescriptor, LimitError,
22};
23
24mod emit;
25pub use self::emit::{RadiationBuffer, Emit};
26
27#[cfg(all(test, feature = "derive"))]
28mod tests;
29
30#[derive(Default, Debug, Clone, PartialEq, Eq)]
31pub struct DynSized<T>(pub T);
32
33#[derive(Default, Debug, Clone, PartialEq, Eq)]
34pub struct Collection<C>(pub C);
35
36#[cfg(feature = "codec")]
37pub mod codec;
38
39#[cfg(feature = "dilithium")]
40mod dil;