Files
rust/tests/ui
bors 2cad938a81 Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors
Implement `gen` blocks in the 2024 edition

Coroutines tracking issue https://github.com/rust-lang/rust/issues/43122
`gen` block tracking issue https://github.com/rust-lang/rust/issues/117078

This PR implements `gen` blocks that implement `Iterator`. Most of the logic with `async` blocks is shared, and thus I renamed various types that were referring to `async` specifically.

An example usage of `gen` blocks is

```rust
fn foo() -> impl Iterator<Item = i32> {
    gen {
        yield 42;
        for i in 5..18 {
            if i.is_even() { continue }
            yield i * 2;
        }
    }
}
```

The limitations (to be resolved) of the implementation are listed in the tracking issue
2023-10-29 00:03:52 +00:00
..
2023-10-17 17:33:55 +00:00
2023-10-24 15:30:17 +00:00
2023-10-08 10:06:17 +00:00
2023-10-05 01:04:41 +00:00
2023-10-20 21:14:01 +00:00
2023-10-04 08:01:11 +08:00
2023-10-08 10:06:17 +00:00
2023-05-30 13:03:40 +02:00
2023-10-27 15:20:44 +00:00
2023-10-04 08:01:11 +08:00
2023-07-17 22:06:32 +00:00
2023-10-20 21:14:01 +00:00
2023-09-06 12:09:29 +03:00
2023-10-08 10:06:17 +00:00
2023-10-16 16:29:35 +00:00
2023-10-20 21:14:01 +00:00
2023-10-08 10:06:17 +00:00
2023-10-11 04:55:55 +02:00
2023-10-17 17:33:55 +00:00
2023-08-28 17:47:37 -03:00
2023-10-20 21:14:01 +00:00
2023-04-29 13:01:46 +01:00
2023-07-29 11:47:26 +02:00
2023-10-11 04:55:55 +02:00
2023-10-20 21:14:01 +00:00
2023-08-14 16:57:51 -07:00
2023-10-02 23:14:29 +00:00
2023-10-17 17:33:55 +00:00
2023-09-18 17:29:13 +01:00
2023-10-20 21:14:01 +00:00
2023-10-05 01:04:41 +00:00
2023-10-20 21:14:01 +00:00
2023-04-29 13:01:46 +01:00
2023-10-05 01:04:41 +00:00
2023-04-13 22:10:26 -05:00
2023-04-13 22:10:26 -05:00
2023-09-10 23:06:14 +02:00
2023-09-10 23:06:14 +02:00
2023-10-20 21:14:01 +00:00