rust/src
Michael Goulet bc60d50eaa Provide associated type information in method chains
When encountering an unmet obligation that affects a method chain, like
in iterator chains where one of the links has the wrong associated
type, we point at every method call and mention their evaluated
associated type at that point to give context to the user of where
expectations diverged from the code as written.

```
note: the expression is of type `Map<std::slice::Iter<'_, {integer}>, [closure@$DIR/invalid-iterator-chain.rs:12:18: 12:21]>`
  --> $DIR/invalid-iterator-chain.rs:12:14
   |
LL |         vec![0, 1]
   |         ---------- this expression has type `Vec<{integer}>`
LL |             .iter()
   |              ------ associated type `std::iter::Iterator::Item` is `&{integer}` here
LL |             .map(|x| { x; })
   |              ^^^^^^^^^^^^^^^ associated type `std::iter::Iterator::Item` is `()` here
```
2022-12-11 09:46:01 -08:00
..
bootstrap Rollup merge of #105459 - jyn514:proc-macro-default, r=Mark-Simulacrum 2022-12-11 00:30:18 +01:00
ci Rollup merge of #105389 - ogarokpeter:patch-1, r=Mark-Simulacrum 2022-12-09 07:25:45 +01:00
doc doc: document remap matching behaviour in rustc flags 2022-12-10 16:04:00 +01:00
etc Fix natvis VecDeque formatter 2022-11-27 18:09:56 +01:00
librustdoc Auto merge of #105554 - matthiaskrgr:rollup-ir60gc7, r=matthiaskrgr 2022-12-11 09:01:37 +00:00
llvm-project@3dfd4d93fa Update LLVM submodule 2022-12-07 08:40:49 +01:00
rustdoc-json-types Rollup merge of #103065 - aDotInTheVoid:rdj-arg-pattern, r=GuillaumeGomez 2022-11-30 19:53:17 +01:00
test Provide associated type information in method chains 2022-12-11 09:46:01 -08:00
tools Rollup merge of #105234 - JakobDegen:unneeded-field, r=oli-obk 2022-12-10 15:01:43 +01:00
README.md
stage0.json Bump to latest beta 2022-11-06 17:11:02 -05:00
version bump version to 1.68 2022-12-09 17:49:45 +01:00

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.