A yield expression was used outside of the coroutine literal.
Erroneous code example:
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
fn fake_coroutine() -> &'static str {
yield 1;
return "foo"
}
fn main() {
let mut coroutine = fake_coroutine;
} The error occurs because keyword yield can only be used inside the coroutine literal. This can be fixed by constructing the coroutine correctly.
#![feature(coroutines, coroutine_trait, stmt_expr_attributes)]
fn main() {
let mut coroutine = #[coroutine] || {
yield 1;
return "foo"
};
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0627.html