#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![cfg_attr(mirai, allow(incomplete_features), feature(const_generics))]
pub mod compat;
pub mod ed25519;
pub mod error;
pub mod hash;
pub mod hkdf;
pub mod multi_ed25519;
pub mod noise;
pub mod test_utils;
pub mod traits;
pub mod validatable;
pub mod x25519;
#[cfg(test)]
mod unit_tests;
#[cfg(mirai)]
mod tags;
pub use self::traits::*;
pub use hash::HashValue;
#[doc(hidden)]
pub use once_cell as _once_cell;
#[doc(hidden)]
pub use serde_name as _serde_name;
#[cfg(not(any(feature = "fiat", feature = "u64", feature = "u32")))]
compile_error!(
"no dalek arithmetic backend cargo feature enabled! \
please enable one of: fiat, u64, u32"
);
#[cfg(all(feature = "fiat", feature = "u64"))]
compile_error!(
"at most one dalek arithmetic backend cargo feature should be enabled! \
please enable exactly one of: fiat, u64, u32"
);
#[cfg(all(feature = "fiat", feature = "u32"))]
compile_error!(
"at most one dalek arithmetic backend cargo feature should be enabled! \
please enable exactly one of: fiat, u64, u32"
);
#[cfg(all(feature = "u64", feature = "u32"))]
compile_error!(
"at most one dalek arithmetic backend cargo feature should be enabled! \
please enable exactly one of: fiat, u64, u32"
);
#[cfg(all(mirai, not(debug_assertions)))]
compile_error!("MIRAI can only be used to compile the crate in a debug build!");