Please advise why there is error, all looks good, thanks
struct BlockCrypt {
key: GenericArray<u8, U8>,
iv: GenericArray<u8, U8>,
}
impl BlockCrypt {
fn new(key: &[u8]) -> Self {
let mut crc = CRCu64::crc64we();
let iv = {
crc.digest(&Initial_Vector);
let result = crc.get_crc_vec_be();
debug_assert_eq!(result.len(), 8);
crc.reset();
result
};
let key = {
crc.digest(key);
let result = crc.get_crc_vec_be();
debug_assert_eq!(result.len(), 8);
crc.reset();
result
};
BlockCrypt {
key: *GenericArray::from_slice(&key),
iv: *GenericArray::from_slice(&iv),
}
}
fn encrypt(&self, src: &BytesMut) {
let cipher = Des64Cbc::new_fix(&self.key, &self.iv); // error out for &self.key, see error below
}
}
mismatched types
expected struct `cipher::generic_array::typenum::UInt`, found struct `cipher::generic_array::typenum::UTerm`
note: expected reference `&cipher::generic_array::GenericArray<u8, cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UTerm, cipher::consts::B1>, cipher::consts::B1>, cipher::consts::B0>, cipher::consts::B0>, cipher::consts::B0>>`
found reference `&cipher::generic_array::GenericArray<u8, cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UInt<cipher::generic_array::typenum::UTerm, cipher::consts::B1>, cipher::consts::B0>, cipher::consts::B0>, cipher::consts::B0>>`rustc(E0308)