Lazy Sequenzerstellung in Rust

Wie kann ich erstellen, was andere Sprachen eine Lazy Sequence oder eine "Generator" -Funktion nennen?

In Python kann ich verwendenyield wie im folgenden Beispiel (aus Pythons Dokumenten), um eine Sequenz zu generieren, die auf eine Weise iteriert werden kann, die nicht den Speicher einer Zwischenliste verwendet:

# 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))

Wie kann ich etwas Ähnliches in Rust machen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage