rust/compiler/rustc_middle/src
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
..
dep_graph Move DepKind to rustc_query_system and define it as u16 2023-09-21 17:06:14 +02:00
hir Auto merge of #116849 - oli-obk:error_shenanigans, r=cjgillot 2023-10-23 09:59:40 +00:00
hooks add some docs to hooks/mod.rs 2023-09-30 22:33:22 +02:00
infer Uplift Canonical to rustc_type_ir 2023-10-25 16:25:09 +00:00
middle Parse rustc version at compile time 2023-10-26 18:55:05 -07:00
mir Fuse gen blocks 2023-10-27 15:20:44 +00:00
query Stash and cancel cycle errors for auto trait leakage in opaques 2023-10-26 17:58:02 +00:00
thir Address review comments 2023-10-16 15:58:01 +00:00
traits Make gen blocks implement the Iterator trait 2023-10-27 13:05:48 +00:00
ty Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors 2023-10-29 00:03:52 +00:00
util Merge ExternProviders into the general Providers struct 2023-09-22 20:15:34 +00:00
arena.rs Implement Deref<LayoutS> for Layout 2023-10-02 21:31:16 +02:00
error.rs don't point at const usage site for resolution-time errors 2023-09-14 22:34:05 +02:00
lib.rs s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
lint.rs give FutureIncompatibilityReason variants more explicit names 2023-09-22 08:51:18 +02:00
macros.rs Rename CloneLiftImpls as TrivialLiftImpls. 2023-09-18 09:37:09 +10:00
metadata.rs rustc_metadata: Remove Span from ModChild 2023-04-18 17:25:04 +03:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
thir.rs Auto merge of #116482 - matthewjasper:thir-unsafeck-inline-constants, r=b-naber 2023-10-25 00:03:57 +00:00
values.rs Format all the let chains in compiler 2023-10-13 08:59:36 +00:00