pub trait Hasher {
type HasherOutput: Hash;
fn output_type() -> &'static dyn HashType;
fn new() -> Self;
fn input(&mut self, buf: &[u8]) -> Result<(), IoError>;
fn result(self) -> Box<Self::HasherOutput>;
}
pub trait Hasher {
type HasherOutput: Hash;
fn output_type() -> &'static dyn HashType;
fn new() -> Self;
fn input(&mut self, buf: &[u8]) -> Result<(), IoError>;
fn result(self) -> Box<Self::HasherOutput>;
}