rust/src
Matthias Krüger 1c51e5b110
Rollup merge of #129711 - lqd:nll-mir-dumps, r=compiler-errors
Expand NLL MIR dumps

This PR is a first step to clean up and expand NLL MIR dumps:
- by restoring the "mir-include-spans" comments which are useful for `-Zdump-mir=nll`
- by adding the list of borrows to NLL MIR dumps, where they are introduced in the CFG and in which region

Comments in MIR dumps were turned off in #112346, but as shown in #114652 they were still useful for us working with NLL MIR dumps. So this PR pulls `-Z mir-include-spans` into its own options struct, so that passes dumping MIR can override them if need be. The rest of the compiler is not affected, only the "nll" pass dumps have these comments enabled again. The CLI still has priority when specifying the flag, so that we can explicitly turn them off in the `mir-opt` tests to keep blessed dumps easier to work with (which was one of the points of #112346).

Then, as part of a couple steps to improve NLL/polonius MIR dumps and `.dot` visualizations, I've also added the list of borrows and where they're introduced. I'm doing all this to help debug some polonius scope issues in my prototype location-sensitive analysis :3. I'll probably add member constraints soon.
2024-08-31 14:46:07 +02:00
..
bootstrap Allow running ./x.py test compiler 2024-08-29 09:26:27 +02:00
ci ci: Take tail instead of head to avoid broken pipes 2024-08-30 20:51:52 -07:00
doc Rollup merge of #129366 - petrochenkov:libsearch, r=jieyouxu 2024-08-31 10:08:53 +02:00
etc Generate completions after version updates 2024-08-18 22:52:54 -05:00
librustdoc Rollup merge of #129725 - compiler-errors:predicates-of, r=fmease 2024-08-31 10:08:57 +02:00
llvm-project@2b259b3c20 Update to LLVM 19 rc 3 2024-08-20 11:50:47 +02:00
rustdoc-json-types rustdoc-json: Use FxHashMap from rustdoc_json_types 2024-08-15 13:12:11 +00:00
tools Rollup merge of #129711 - lqd:nll-mir-dumps, r=compiler-errors 2024-08-31 14:46:07 +02:00
README.md
stage0 Bump src/stage0 with determinism 2024-07-30 15:16:35 -07:00
version Bump to 1.82 2024-07-20 10:30:39 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

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