Я взглянул на генераторы в Rust и решил попробовать.Я реализовал самый простой пример, который мог найти:
#![feature(generators, generator_trait)]
use std::ops::Generator;
fn main() {
let mut generator = || {
println!("2");
yield;
println!("4");
};
println!("1");
generator.resume();
println!("3");
generator.resume();
println!("5");
}
Однако, когда я пытаюсь скомпилировать, я получаю эту ошибку:
error[E0599]: no method named `resume` found for type `[generator@src/main.rs:6:25: 10:6 _]` in the current scope
--> src/main.rs:13:15
|
13 | generator.resume();
| ^^^^^^
Я делаю что-то не так или resume()
метод на самом деле не существует на генераторах?Если так, как я могу разбудить генератор?В документации я смог найти все точки к методу resume()
, поэтому сейчас я в замешательстве.
Примечание : Да, я знаю, что это нестабильная функция языка, нов документе он поощряет пользователей к его использованию, поэтому я предполагаю, что он должен быть хотя бы частично реализован?
Моя текущая среда : rustc 1.35.0-nightly (acd8dd6a5 2019-04-05)