dock_crypto_utils/
aliases.rs1use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
2use digest::*;
3
4pub trait CanonicalSerDe: CanonicalDeserialize + CanonicalSerialize {}
6impl<T: CanonicalDeserialize + CanonicalSerialize> CanonicalSerDe for T {}
7
8pub trait DoubleEndedExactSizeIterator: ExactSizeIterator + DoubleEndedIterator {}
10impl<I, T: ExactSizeIterator<Item = I> + DoubleEndedIterator<Item = I>> DoubleEndedExactSizeIterator
11 for T
12{
13}
14
15pub trait FullDigest: DynDigest + Default + Clone {}
17impl<T: DynDigest + Default + Clone> FullDigest for T {}
18
19#[cfg(feature = "parallel")]
21pub trait SendIfParallel: Send {}
22#[cfg(feature = "parallel")]
23impl<T: Send> SendIfParallel for T {}
24
25#[cfg(not(feature = "parallel"))]
27pub trait SendIfParallel {}
28#[cfg(not(feature = "parallel"))]
29impl<T> SendIfParallel for T {}
30
31#[cfg(feature = "parallel")]
33pub trait SyncIfParallel: Sync {}
34#[cfg(feature = "parallel")]
35impl<T: Sync> SyncIfParallel for T {}
36
37#[cfg(not(feature = "parallel"))]
39pub trait SyncIfParallel {}
40#[cfg(not(feature = "parallel"))]
41impl<T> SyncIfParallel for T {}
42
43#[cfg(feature = "parallel")]
44pub use rayon::iter;
45
46#[cfg(not(feature = "parallel"))]
47pub use core::iter;