about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
AgeCommit message (Collapse)AuthorLines
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
2025-08-02update docKivooeo-7/+5
2025-08-02Merge pull request #2526 from rust-lang/rustc-pullTshepang Mbambo-3/+12
Rustc pull update
2025-08-01Remove the omit_gdb_pretty_printer_section attributebjorn3-0/+1
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-01Merge pull request #2530 from lcnr/type-system-invariantslcnr-1/+2
fix link
2025-08-01rarwlcnr-1/+2
2025-08-01Merge pull request #2529 from lcnr/type-system-invariantslcnr-0/+427
add a chapter documenting candidate preference
2025-08-01rarwlcnr-0/+427
2025-07-31improve linking in the "Auxilirary builds" section of directive indexlolbinarycat-2/+3
2025-07-31Merge ref '32e7a4b92b10' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-2/+11
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 32e7a4b92b109c24e9822c862a7c74436b50e564 Filtered ref: d39f3479bfafb04026ed3afec68aa671d13e9c3c This merge was created using https://github.com/rust-lang/josh-sync.