RC
Size: a a a
RC
Э
RC
RC

TK
TK
RC
TK
ΑZ
RC
RC

ΑZ
Э
or_insert жадно вычисляет передаваемые аргументы, использовать тут надо or_insert_with. Во-вторых, у тебя незаполненный entry, а ты пытаешься в хашмапу запихать ещё значения. Это та же фигня, которая происходит при запихивании значений в вектор, пока итератор в этот вектор ещё жив.TK
ΑZ
TK
ΑZ
ΑZ
use itertools::unfold;
fn fib() -> impl Iterator<Item = u64> {
unfold((0u64, 1u64), |x| {
let ret = x.0;
x.0 = x.1;
x.1 = x.1.checked_add(ret)?;
Some(ret)
})
}
fn main() {
let fib: Vec<_> = fib().take(10).collect();
println!("{:?}", fib);
}TK