mirror of
https://github.com/rust-lang/rust.git
synced 2025-09-27 12:48:20 +00:00

This adds an `iter!` macro that can be used to create movable generators. This also adds a yield_expr feature so the `yield` keyword can be used within iter! macro bodies. This was needed because several unstable features each need `yield` expressions, so this allows us to stabilize them separately from any individual feature. Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de> Co-authored-by: Jieyou Xu <jieyouxu@outlook.com> Co-authored-by: Travis Cross <tc@traviscross.com>
93 lines
3.3 KiB
Plaintext
93 lines
3.3 KiB
Plaintext
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:5:5
|
|
|
|
|
LL | yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:10:16
|
|
|
|
|
LL | let _ = || yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:18:5
|
|
|
|
|
LL | yield;
|
|
| ^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:19:5
|
|
|
|
|
LL | yield 0;
|
|
| ^^^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:5:5
|
|
|
|
|
LL | yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error: `yield` can only be used in `#[coroutine]` closures, or `gen` blocks
|
|
--> $DIR/feature-gate-coroutines.rs:5:5
|
|
|
|
|
LL | yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: use `#[coroutine]` to make this closure a coroutine
|
|
|
|
|
LL | #[coroutine] fn main() {
|
|
| ++++++++++++
|
|
|
|
error[E0658]: yield syntax is experimental
|
|
--> $DIR/feature-gate-coroutines.rs:10:16
|
|
|
|
|
LL | let _ = || yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
= note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information
|
|
= help: add `#![feature(yield_expr)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error: `yield` can only be used in `#[coroutine]` closures, or `gen` blocks
|
|
--> $DIR/feature-gate-coroutines.rs:10:16
|
|
|
|
|
LL | let _ = || yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: use `#[coroutine]` to make this closure a coroutine
|
|
|
|
|
LL | let _ = #[coroutine] || yield true;
|
|
| ++++++++++++
|
|
|
|
error[E0627]: yield expression outside of coroutine literal
|
|
--> $DIR/feature-gate-coroutines.rs:5:5
|
|
|
|
|
LL | yield true;
|
|
| ^^^^^^^^^^
|
|
|
|
error: aborting due to 9 previous errors
|
|
|
|
Some errors have detailed explanations: E0627, E0658.
|
|
For more information about an error, try `rustc --explain E0627`.
|