Lazy sequence generation in Rust
How can I create what other languages call a lazy sequence or a "generator" function? In Python, I can use yield as in the following example (from Python's docs) to lazily generate a sequence that is iterable in a way that does not use the memory of an intermediary list: # a generator that yields items instead of returning a list def firstn(n): num = 0 while num < n: yield num num += 1 sum_of_first_n = sum(firstn(1000000)) How can I do something similar in Rust? Lucian Rust 1.0 does not have generator functions, so you'd have to do it manually with explicit iterators . First, rewrite your