1#![deny(clippy::shadow_unrelated)]
2pub mod config;
3pub mod error;
4pub mod math;
5pub mod prelude;
6pub mod util_types;
7
8extern crate self as twenty_first;
17
18pub use bfieldcodec_derive;
20
21#[cfg(test)]
22pub(crate) mod tests {
23 use prelude::*;
24
25 use super::*;
26
27 pub fn implements_usual_auto_traits<T: Sized + Send + Sync + Unpin>() {}
41
42 #[test]
43 fn types_in_prelude_implement_the_usual_auto_traits() {
44 implements_usual_auto_traits::<BFieldElement>();
45 implements_usual_auto_traits::<Polynomial<BFieldElement>>();
46 implements_usual_auto_traits::<Polynomial<XFieldElement>>();
47 implements_usual_auto_traits::<Digest>();
48 implements_usual_auto_traits::<Tip5>();
49 implements_usual_auto_traits::<XFieldElement>();
50 implements_usual_auto_traits::<MerkleTree>();
51 implements_usual_auto_traits::<MerkleTreeInclusionProof>();
52 implements_usual_auto_traits::<MmrMembershipProof>();
53 }
54
55 #[test]
56 fn public_types_implement_the_usual_auto_traits() {
57 implements_usual_auto_traits::<math::lattice::CyclotomicRingElement>();
58 implements_usual_auto_traits::<math::lattice::ModuleElement<42>>();
59 implements_usual_auto_traits::<math::lattice::kem::SecretKey>();
60 implements_usual_auto_traits::<math::lattice::kem::PublicKey>();
61 implements_usual_auto_traits::<math::lattice::kem::Ciphertext>();
62 implements_usual_auto_traits::<util_types::sponge::Domain>();
63 implements_usual_auto_traits::<util_types::mmr::mmr_accumulator::MmrAccumulator>();
64 implements_usual_auto_traits::<math::zerofier_tree::Branch<BFieldElement>>();
65 implements_usual_auto_traits::<math::zerofier_tree::Leaf<BFieldElement>>();
66 implements_usual_auto_traits::<math::zerofier_tree::ZerofierTree<BFieldElement>>();
67 implements_usual_auto_traits::<
68 math::polynomial::ModularInterpolationPreprocessingData<BFieldElement>,
69 >();
70 }
71
72 #[test]
73 fn errors_implement_the_usual_auto_traits() {
74 implements_usual_auto_traits::<error::BFieldCodecError>();
75 implements_usual_auto_traits::<error::PolynomialBFieldCodecError>();
76 implements_usual_auto_traits::<error::MerkleTreeError>();
77 implements_usual_auto_traits::<error::ParseBFieldElementError>();
78 implements_usual_auto_traits::<error::TryFromDigestError>();
79 implements_usual_auto_traits::<error::TryFromHexDigestError>();
80 implements_usual_auto_traits::<error::TryFromU32sError>();
81 implements_usual_auto_traits::<error::TryFromXFieldElementError>();
82 }
83}