Я тут затупил несколько. Может кто-то разжевать, почему именно такая ошибка сборки выдается?
use std::collections::HashMap;
fn main() {
type Map = HashMap<u8, u8>;
let g: Map = Map::new();
let g1: &Map = &g;
let z: Map = g1.iter().cloned().collect();
// ```text
// error[E0271]: type mismatch resolving `<std::collections::hash_map::Iter<'_, u8, u8> as std::iter::Iterator>::Item == &_`
// --> src/main.rs:8:28
// |
// 8 | let z: Map = g1.iter().cloned().collect();
// | ^^^^^^ expected tuple, found reference
// |
// = note: expected type `(&u8, &u8)`
// found type `&_`
// ```
dbg!(z);
}