| More than one parameter was used for a coroutine. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0628 |
| #![feature(coroutines, coroutine_trait, stmt_expr_attributes)] |
| |
| fn main() { |
| let coroutine = #[coroutine] |a: i32, b: i32| { |
| // error: too many parameters for a coroutine |
| // Allowed only 0 or 1 parameter |
| yield a; |
| }; |
| } |
| ``` |
| |
| At present, it is not permitted to pass more than one explicit |
| parameter for a coroutine.This can be fixed by using |
| at most 1 parameter for the coroutine. For example, we might resolve |
| the previous example by passing only one parameter. |
| |
| ``` |
| #![feature(coroutines, coroutine_trait, stmt_expr_attributes)] |
| |
| fn main() { |
| let coroutine = #[coroutine] |a: i32| { |
| yield a; |
| }; |
| } |
| ``` |