rust/src
bors a9bb589cd6 Auto merge of #100676 - lcnr:implied-bounds-yay, r=nikomatsakis
implied bounds: explicitly state which types are assumed to be wf

Adds a new query which maps each definition to the types which that definition assumes to be well formed. The intent is to make it easier to reason about implied bounds.

This change should not influence the user-facing behavior of rustc. Notably, `borrowck` still only assumes that the function signature of associated functions is well formed while `wfcheck` assumes that the both the function signature and the impl trait ref is well formed. Not sure if that by itself can trigger UB or whether it's just annoying.

As a next step, we can add `WellFormed` predicates to `predicates_of` of these items and can stop adding the wf bounds at each place which uses them. I also intend to move the computation from `assumed_wf_types` to `implied_bounds` into the `param_env` computation. This requires me to take a deeper look at `compare_predicate_entailment` which is currently somewhat weird wrt implied bounds so I am not touching this here.

r? `@nikomatsakis`
2022-08-22 06:10:26 +00:00
..
bootstrap Auto merge of #100536 - Alexendoo:bootstrap-tls-model, r=Mark-Simulacrum 2022-08-21 01:34:05 +00:00
ci Auto merge of #99967 - Mark-Simulacrum:download-llvm-ci, r=jyn514 2022-08-20 22:49:36 +00:00
doc Rollup merge of #100637 - andrewpollack:fuchsia-docs-adjustments, r=tmandry 2022-08-18 05:10:45 +02:00
etc Auto merge of #98393 - michaelwoerister:new-cpp-like-enum-debuginfo, r=wesleywiser 2022-08-15 12:59:53 +00:00
librustdoc Auto merge of #100668 - nnethercote:use-AttrVec-more, r=spastorino 2022-08-22 00:34:02 +00:00
llvm-project@e3be3f64ec Patch lld for older toolchains 2022-08-11 15:51:59 -07:00
rustdoc-json-types Rollup merge of #100335 - aDotInTheVoid:rdj-resolved-path, r=GuillaumeGomez 2022-08-13 21:06:48 -07:00
test Auto merge of #100676 - lcnr:implied-bounds-yay, r=nikomatsakis 2022-08-22 06:10:26 +00:00
tools Auto merge of #100671 - Xiretza:tidy-fluent-files, r=davidtwco 2022-08-22 03:02:50 +00:00
README.md
stage0.json Bump bootstrap compiler 2022-08-12 16:27:26 -04:00
version Bump to 1.65.0 2022-08-05 11:32:46 -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.