rust/compiler/rustc_trait_selection/src/solve
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
..
assembly Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors 2023-10-29 00:03:52 +00:00
eval_ctxt reorder files in solve 2023-10-10 09:55:22 +00:00
inspect w 2023-09-21 08:44:12 +02:00
project_goals Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors 2023-10-29 00:03:52 +00:00
alias_relate.rs inspect: strongly typed CandidateKind 2023-09-11 13:11:32 +02:00
canonicalize.rs Handle ReErased in responses in new solver 2023-10-23 16:12:32 -04:00
fulfill.rs avoid building proof trees in select 2023-07-10 15:17:01 +02:00
mod.rs reorder files in solve 2023-10-10 09:55:22 +00:00
normalize.rs AliasTy::new instead of tcx method 2023-10-18 13:57:19 +02:00
search_graph.rs reorder files in solve 2023-10-10 09:55:22 +00:00
trait_goals.rs Auto merge of #116447 - oli-obk:gen_fn, r=compiler-errors 2023-10-29 00:03:52 +00:00