usecrate::Result;/// A message authentication code.
////// A MAC is a symmetric signature primitive.
pubtraitMac{/// Size of the MAC tag i.e. the signature in bytes.
fnmac_size(&self)->usize;/// Add data to be signed.
fnupdate(&mutself, data:&[u8]);/// Produce the MAC tag `digest` for all data fed via `update()`.
////// Returns `InvalidArgument` if digest is not `Self::mac_size`.
fndigest(&mutself, digest:&mut [u8])->Result<()>;}