Elaborate supertrait obligations when deducing closure signatures We elaborate the supertrait obligations of any registered predicates for a closure to see if we can infer a closure signature. This is not as general of a fix as it *could* be, since we just elaborate supertrait bounds instead of doing a theoretical walk of _all_ registered predicates that might cause us to deduce `Fn` trait information for a closure infer var. I don't even know how to come up with an example that fails here but would work with a more general system. Fixes #23012 Also fixes the existing compile failure in #57611 r? `@ghost` for now until I do a perf run cc `@nikomatsakis` since you commented on https://github.com/rust-lang/rust/issues/23012#issuecomment-1152397290 |
||
|---|---|---|
| .. | ||
| bootstrap | ||
| ci | ||
| doc | ||
| etc | ||
| librustdoc | ||
| llvm-project@2a2ea6b49e | ||
| rustdoc-json-types | ||
| test | ||
| tools | ||
| README.md | ||
| stage0.json | ||
| version | ||
This directory contains the source code of the rust project, including:
- The test suite
- The bootstrapping build system
- Various submodules for tools, like cargo, etc.
For more information on how various parts of the compiler work, see the rustc dev guide.