pub trait Hasher {
type Fr: Copy + Eq + Default + Sync + Send + Debug;
// Required methods
fn serialize(value: Self::Fr) -> Value;
fn deserialize(value: Value) -> Self::Fr;
fn hash(input: &[Self::Fr]) -> Self::Fr;
// Provided method
fn default_leaf() -> Self::Fr { ... }
}
Expand description
Trait that must be implemented for Hash Function
Required Associated Types§
Required Methods§
Sourcefn deserialize(value: Value) -> Self::Fr
fn deserialize(value: Value) -> Self::Fr
Deserializes Self::Fr
Provided Methods§
Sourcefn default_leaf() -> Self::Fr
fn default_leaf() -> Self::Fr
Outputs the default leaf (Fr::default())
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.