rust/src
bors 1689a5a531 Auto merge of #122597 - pacak:master, r=bjorn3
Show files produced by `--emit foo` in json artifact notifications

Right now it is possible to ask `rustc` to save some intermediate representation into one or more files with `--emit=foo`, but figuring out what exactly was produced is difficult. This pull request adds information about `llvm_ir` and `asm` intermediate files into notifications produced by `--json=artifacts`.

Related discussion: https://internals.rust-lang.org/t/easier-access-to-files-generated-by-emit-foo/20477

Motivation - `cargo-show-asm` parses those intermediate files and presents them in a user friendly way, but right now I have to apply some dirty hacks. Hacks make behavior confusing: https://github.com/hintron/computer-enhance/issues/35

This pull request introduces a new behavior: now `rustc` will emit a new artifact notification for every artifact type user asked to `--emit`, for example for `--emit asm` those will include all the `.s` files.

Most users won't notice this behavior, to be affected by it all of the following must hold:
- user must use `rustc` binary directly (when `cargo` invokes `rustc` - it consumes artifact notifications and doesn't emit anything)
- user must specify both `--emit xxx` and `--json artifacts`
- user must refuse to handle unknown artifact types
- user must disable incremental compilation (or deal with it better than cargo does, or use a workaround like `save-temps`) in order not to hit #88829 / #89149
2024-06-04 00:05:56 +00:00
..
bootstrap include missing submodule on bootstrap 2024-06-01 17:27:35 +03:00
ci compiletest: clarify COMPILETEST_NEEDS_ALL_LLVM_COMPONENTS error 2024-05-30 08:07:56 +02:00
doc Auto merge of #122597 - pacak:master, r=bjorn3 2024-06-04 00:05:56 +00:00
etc Remove path choice from x fmt and add --all option. 2024-05-29 16:24:48 +10:00
librustdoc Auto merge of #124577 - GuillaumeGomez:stabilize-custom_code_classes_in_docs, r=rustdoc 2024-06-01 10:18:01 +00:00
llvm-project@b31c30a9bb Update to LLVM 18.1.6 2024-05-19 18:24:30 +02:00
rustdoc-json-types Rollup merge of #125130 - aDotInTheVoid:id-docs, r=GuillaumeGomez 2024-05-16 16:22:45 +02:00
tools Auto merge of #125383 - Oneirical:bundle-them-up, r=jieyouxu 2024-06-03 18:35:54 +00:00
README.md
stage0 Bump the stage0 compiler to beta.7 (2024-05-25) 2024-05-29 19:30:51 -04:00
version Bump version to 1.80 2024-04-27 19:03:50 -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.