rust/src
bors 8a12be7412 Auto merge of #89249 - Aaron1011:higher-ranked-cause, r=estebank
Improve cause information for NLL higher-ranked errors

This PR has several interconnected pieces:

1. In some of the NLL region error code, we now pass
   around an `ObligationCause`, instead of just a plain `Span`.
   This gets forwarded into `fulfill_cx.register_predicate_obligation`
   during error reporting.
2. The general InferCtxt error reporting code is extended to
   handle `ObligationCauseCode::BindingObligation`
3. A new enum variant `ConstraintCategory::Predicate` is added.
   We try to avoid using this as the 'best blame constraint' - instead,
   we use it to enhance the `ObligationCause` of the `BlameConstraint`
   that we do end up choosing.

As a result, several NLL error messages now contain the same
"the lifetime requirement is introduced here" message as non-NLL
errors.

Having an `ObligationCause` available will likely prove useful
for future improvements to NLL error messages.
2021-09-27 21:29:19 +00:00
..
bootstrap Auto merge of #89182 - GuillaumeGomez:boostrap-explicit-request, r=Mark-Simulacrum 2021-09-27 05:00:59 +00:00
build_helper Migrate to 2021 2021-09-20 22:21:42 -04:00
ci ci: Add Dockerfile for dist-m68k-linux 2021-09-17 15:07:13 +00:00
doc Auto merge of #87064 - Aaron1011:new-closure-track-caller, r=estebank 2021-09-23 12:26:51 +00:00
etc Migrate to 2021 2021-09-20 22:21:42 -04:00
librustdoc Auto merge of #89203 - GuillaumeGomez:cleanup-rustdoc-types, r=camelid 2021-09-27 07:54:16 +00:00
llvm-project@cba558df77 Update LLVM submodule 2021-09-20 23:07:04 +02:00
rustdoc-json-types Migrate to 2021 2021-09-20 22:21:42 -04:00
test Auto merge of #89249 - Aaron1011:higher-ranked-cause, r=estebank 2021-09-27 21:29:19 +00:00
tools Auto merge of #89101 - ehuss:compiletest-incremental-build, r=Mark-Simulacrum 2021-09-26 08:09:12 +00:00
README.md
stage0.json Bump stage0 compiler to 1.56 2021-09-08 20:51:05 -04:00
version Bump version to 1.57 2021-09-03 21:54:48 -04:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.