#![deny(clippy::shadow_unrelated)]
pub mod amount;
pub mod error;
pub mod math;
pub mod prelude;
pub mod util_types;
#[cfg(any(test, feature = "mock"))]
pub mod mock;
extern crate self as twenty_first;
pub use bfieldcodec_derive;
#[cfg(test)]
pub(crate) mod tests {
use prelude::*;
use super::*;
pub fn implements_usual_auto_traits<T: Sized + Send + Sync + Unpin>() {}
#[test]
fn types_in_prelude_implement_the_usual_auto_traits() {
implements_usual_auto_traits::<U32s<42>>();
implements_usual_auto_traits::<BFieldElement>();
implements_usual_auto_traits::<Polynomial<BFieldElement>>();
implements_usual_auto_traits::<Polynomial<XFieldElement>>();
implements_usual_auto_traits::<Digest>();
implements_usual_auto_traits::<Tip5>();
implements_usual_auto_traits::<XFieldElement>();
implements_usual_auto_traits::<CpuParallel>();
implements_usual_auto_traits::<MerkleTree>();
implements_usual_auto_traits::<MerkleTreeInclusionProof>();
implements_usual_auto_traits::<MmrMembershipProof>();
}
#[test]
fn public_types_implement_the_usual_auto_traits() {
implements_usual_auto_traits::<math::lattice::CyclotomicRingElement>();
implements_usual_auto_traits::<math::lattice::ModuleElement<42>>();
implements_usual_auto_traits::<math::lattice::kem::SecretKey>();
implements_usual_auto_traits::<math::lattice::kem::PublicKey>();
implements_usual_auto_traits::<math::lattice::kem::Ciphertext>();
implements_usual_auto_traits::<mock::mmr::MockMmr>();
implements_usual_auto_traits::<util_types::algebraic_hasher::Domain>();
implements_usual_auto_traits::<util_types::mmr::mmr_accumulator::MmrAccumulator>();
implements_usual_auto_traits::<math::zerofier_tree::Branch<BFieldElement>>();
implements_usual_auto_traits::<math::zerofier_tree::Leaf<BFieldElement>>();
implements_usual_auto_traits::<math::zerofier_tree::ZerofierTree<BFieldElement>>();
implements_usual_auto_traits::<
math::polynomial::ModularInterpolationPreprocessingData<BFieldElement>,
>();
}
#[test]
fn errors_implement_the_usual_auto_traits() {
implements_usual_auto_traits::<error::BFieldCodecError>();
implements_usual_auto_traits::<error::PolynomialBFieldCodecError>();
implements_usual_auto_traits::<error::MerkleTreeError>();
implements_usual_auto_traits::<error::ParseBFieldElementError>();
implements_usual_auto_traits::<error::TryFromDigestError>();
implements_usual_auto_traits::<error::TryFromHexDigestError>();
implements_usual_auto_traits::<error::TryFromU32sError>();
implements_usual_auto_traits::<error::TryFromXFieldElementError>();
}
}