about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
AgeCommit message (Collapse)AuthorLines
2025-09-03Rename `ToolRustc` to `ToolRustcPrivate`Jakub Beránek-5/+2
2025-08-25Merge ref 'a1dbb443527b' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-6/+10
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: a1dbb443527bd126452875eb5d5860c1d001d761 Filtered ref: c2339048a82c55166f9b9ee83fd618be252a6e23 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-25Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to a1dbb443527bd126452875eb5d5860c1d001d761.
2025-08-24Merge pull request #2550 from WaffleLapkin/try-borswaffle-37/+28
Suggest using `@bors try jobs=...`
2025-08-24Auto merge of #145384 - ywxt:parallel-tests, r=jieyouxubors-0/+2
Add more tests for the parallel rustc At the moment, the parallel frontend test cases are severely lacking. Althought some reported issues have been resolved, they haven't been added into the tests. This PR arranges the resolved ICE issues and adds tests for them. Whether it is worthwhile to add a separate test suite for the paralel frontend still requires futher discussion. But we are trying coveraging issues being resolved through capability of the existing UI test suite. Discussion: [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/233931-t-compiler.2Fmajor-changes/topic/Proposal.20for.20a.20dedicated.20test.20suite.20for.20t.E2.80.A6.20compiler-team.23906) Related issues: - rust-lang/rust#120760 - rust-lang/rust#124423 fixed by rust-lang/rust#140358 - rust-lang/rust#127971 fxied by rust-lang/rust#140358 - rust-lang/rust#120601 fixed by rust-lang/rust#127311 cc `@jieyouxu`
2025-08-23Rollup merge of #145554 - tshepang:rdg-sync, r=BoxyUwUJacob Pratt-18/+16
rustc-dev-guide subtree update Subtree update of `rustc-dev-guide` to https://github.com/rust-lang/rustc-dev-guide/commit/c22150808bc96df8c8666d2f4b89cbab10e1ce0d. Created using https://github.com/rust-lang/josh-sync. r? ```@ghost```
2025-08-24Merge pull request #2548 from joshtriplett/macro-parser许杰友 Jieyou Xu (Joe)-35/+21
2025-08-23Rewrite try jobs section a bitJakub Beránek-23/+23
2025-08-23suggest using `@bors try jobs=...`Waffle Lapkin-16/+7
2025-08-22doc: fix some typos in commentxihuwenhua-2/+2
Signed-off-by: xihuwenhua <xihuwenhua@outlook.com>
2025-08-20Merge pull request #2546 from lolbinarycat/patch-7nora-3/+3
Update bootstrapping docs to account for new stage meanings
2025-08-20Merge pull request #2549 from lumiscosity/optimize-imagesnora-0/+0
Losslessly optimize PNG files
2025-08-19Merge pull request #2524 from rust-lang/offload-deviceManuel Drehwald-28/+114
add gpu device side instructions
2025-08-19add gpu device side instructionsManuel Drehwald-28/+114
2025-08-19Rollup merge of #145490 - Kobzol:bootstrap-io-tracing, r=jieyouxu许杰友 Jieyou Xu (Joe)-3/+5
Trace some basic I/O operations in bootstrap When working on removing the rmeta sysroot copies, it is quite difficult to figure out *why* was did a certain file appear in a given directory. This should help with that a bit. r? `@jieyouxu`
2025-08-19Losslessly optimize PNG fileslumiscosity-0/+0
Losslessly optimizes all of the PNG files in the repo. Done with: ``` oxipng -o max -a -s oxipng -o max --zopfli -a -s ```
2025-08-19Update for changes to macro parserJosh Triplett-35/+21
2025-08-18Remove the no_sanitize attribute in favor of sanitizeBastian Kersting-1/+1
This removes the #[no_sanitize] attribute, which was behind an unstable feature named no_sanitize. Instead, we introduce the sanitize attribute which is more powerful and allows to be extended in the future (instead of just focusing on turning sanitizers off). This also makes sanitize(kernel_address = ..) attribute work with -Zsanitize=address To do it the same as how clang disables address sanitizer, we now disable ASAN on sanitize(kernel_address = "off") and KASAN on sanitize(address = "off"). The same was added to clang in https://reviews.llvm.org/D44981.
2025-08-18Trace some basic I/O operations in bootstrapJakub Beránek-3/+5
2025-08-18Merge ref '425a9c0a0e36' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-129/+56
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 425a9c0a0e365c0b8c6cfd00c2ded83a73bed9a0 Filtered ref: 26b9fd24259f4fc5fd7634a99dd6dda2821fb2d0 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-18Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 425a9c0a0e365c0b8c6cfd00c2ded83a73bed9a0.
2025-08-15Add the directive `compare-output-by-lines`ywxt-0/+2
2025-08-15Rollup merge of #142640 - Sa4dUs:ad-intrinsic, r=ZuseZ4Stuart Cook-28/+0
Implement autodiff using intrinsics This PR aims to move autodiff logic to `autodiff` intrinsic. Allowing us to delete a great part of our frontend code and overall, simplify the compilation pipeline of autodiff functions.
2025-08-14Rollup merge of #145261 - Kobzol:bootstrap-tracing, r=jieyouxuJakub Beránek-99/+49
Improve tracing in bootstrap I was annoyed that bootstrap had like 5 separate ways of debugging/tracing/profiling, and it was hard for me to understand how are individual steps executed. This PR tries to unify severla things behind `BOOTSTRAP_TRACING`, and improve tracing/profiling in general: - All generated tracing outputs are now stored in a single directory to make it easier to examine them, plus bootstrap prepares a `latest` symlink to the latest generated tracing output directory for convenience. - All executed spans are now logged automatically (without requiring usage of `#[tracing::instrument]`). - A custom span/event formatter was implemented, to provide domain-specific output (like location of executed commands or spans) and hopefully also to reduce visual clutter. - `tracing_forest` was removed. While it did some useful postprocessing, it didn't expose enough information for making the dynamic step spans work. - You can now explicitly log steps (`STEP=info`) and/or commands (`COMMAND=info`), to have more granular control over what gets logged. - `print-step-timings` also show when a step starts its execution (not just when it ends it), so that when some step fails in CI, we can actually see what step it was (before we would only see the end of the previous step). - The rustc-dev-guide page on debugging/profiling bootstrap was updated. There are still some things that work outside of tracing (`print-step-timings` and `dump-bootstrap-shims`), but I think that for now this improvement is good enough. I removed the `> step`, `< step` verbose output, because I found it unusable, as verbose bootstrap output also enables verbose Cargo output, and then you simply drown in too much data, and because I think that the new tracing system makes it obsolete (although it does require recompilation with the `tracing` feature). If you want to keep it, happy to revert 690c781475acb890f33d928186bdaea9ef179330. And the information about cached steps is now also shown in the Graphviz step dependency graph. We can modify the tracing output however we want, as we now implement it ourselves. Notably, we could also show exit logs for step spans, currently I only show enter spans. Maybe creating indents for each executed nested command is also not needed. Happy to hear feedback! Some further improvements could be to print step durations, if we decide to also log step exit events. We could also try to enable tracing in CI logs, but it might be too verbose. Best reviewed commit-by-commit. r? ``@jieyouxu`` CC ``@Shourya742``
2025-08-14Complete functionality and general cleanupMarcelo Domínguez-28/+0
2025-08-12Auto merge of #145295 - Kobzol:unify-stages, r=jieyouxubors-1/+1
Consolidate stage directories and group logs in bootstrap My post-stage-0-redesign bootstrap fixes aren't done yet, but I think that enough steps have been migrated to the new system that it makes sense to actually modify the directories on disk, and what gets printed when bootstrap runs, so that it actually corresponds to the new system. Before, the printed stages didn't always make sense. This PR: - Fixes the numbering of `stageN` directories in the build directory. It was not corresponding to the correct stages before; notice that I did not modify `bootstrap/README.md`, as it was essentially describing what happens after this PR (first commit). - Unifies all steps that output a build group to use the `Builder::msg` method. It's probably not the final stage, and some of the test steps might not be fully accurate yet, because I didn't fix test step numbering yet, but I think that it's a clear improvement from before, and now that everything uses the same method, we can easily make changes across the board, to ensure that it stays unified (second commit). r? `@jieyouxu` try-job: dist-x86_64-msvc try-job: dist-x86_64-linux
2025-08-12Replace `stage0-tools-bin` with `stage1-tools-bin`Jakub Beránek-1/+1
2025-08-11Update bootstrapping docs to account for new stage meaningslolbinarycat-3/+3
see https://github.com/rust-lang/rust/pull/145253 for reference.
2025-08-11Update debugging/profiling bootstrap pageJakub Beránek-99/+49
2025-08-11Update rustc dev guidetiif-1/+6
2025-08-11fix grammarTshepang Mbambo-1/+1
2025-08-11place link on the more suitable text Tshepang Mbambo-1/+1
Also, remove redundant word
2025-08-11add a tip for english writingyukang-1/+3
2025-08-08Remove mentions of Discord.Kevin Reid-12/+8
The official Discord server is no longer active (cannot be posted to).
2025-08-07Only run the pull workflow once per weekJakub Beránek-2/+2
2025-08-07Merge ref '6bcdcc73bd11' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-0/+9
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 6bcdcc73bd11568fd85f5a38b58e1eda054ad1cd Filtered ref: 6cc4ce79e1f8dc0ec5a2e18049b9c1a51dee3221 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-07Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 6bcdcc73bd11568fd85f5a38b58e1eda054ad1cd.
2025-08-06Make link relative an link to md not htmllolbinarycat-1/+1
2025-08-06Link from "Overview of the compiler § Queries" to the Queries chapterlolbinarycat-0/+4
There's already a link in the other direction, so this seems fairly logical.
2025-08-06Rollup merge of #144676 - tiif:dev_guide_unstable_bound, r=BoxyUwUJakub Beránek-0/+3
Add documentation for unstable_feature_bound There is more detail and explanation in https://hackmd.io/``````@tiif/Byd3mq7Ige`````` Original PR that implemented this: rust-lang/rust#140399 r? ``````@BoxyUwU`````` to nominate for types team discussion
2025-08-06add note on how to build wasiJana Dönszelmann-1/+22
2025-08-05Merge pull request #2534 from skrobchik/patch-1Manuel Drehwald-1/+1
Update installation.md
2025-08-05Rollup merge of #144905 - tshepang:rdg-sync, r=jieyouxuSamuel Tardieu-156/+205
rustc-dev-guide subtree update Subtree update of `rustc-dev-guide` to https://github.com/rust-lang/rustc-dev-guide/commit/1263fc23672325c1d2e3d6bba8a7dd89e986245c. Created using https://github.com/rust-lang/josh-sync. r? ``@ghost``
2025-08-04Update installation.mdRobert Serrano Kobylyansky-1/+1
The `--enable-offload` and `--enable--enzyme` arguments don't seem to work. Changing them to `--enable-llvm-offload` and `--enable-llvm-enzyme` resulted in the `boostrap.toml` file generating succesfully.
2025-08-04Implement debugging output of the bootstrap Step graph into a DOT fileJakub Beránek-0/+6
2025-08-04Merge ref '383b9c447b61' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-0/+1
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 383b9c447b61641e1f1a3850253944a897a60827 Filtered ref: 14b7b0bbd1e38402fca29ef84e5f75ee9d8cb1a9 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-04Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 383b9c447b61641e1f1a3850253944a897a60827.
2025-08-03Rollup merge of #144738 - bjorn3:remove_omit_gdb_pretty_printer_section, ↵Samuel Tardieu-0/+1
r=jieyouxu Remove the omit_gdb_pretty_printer_section attribute Disabling loading of pretty printers in the debugger itself is more reliable. Before this commit the .gdb_debug_scripts section couldn't be included in dylibs or rlibs as otherwise there is no way to disable the section anymore without recompiling the entire standard library.
2025-08-03there is still no official policyTshepang Mbambo-1/+1
2025-08-03Merge pull request #2509 from rust-lang/tshepang-auto-tocTshepang Mbambo-147/+198
make toc generation fully automatic