summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
AgeCommit message (Collapse)AuthorLines
2025-03-25compiletest: Support matching on diagnostics without a spanVadim Petrochenkov-4/+22
2025-03-20Disambiguate between wg-llvm and icebreakers-llvm in rustc-dev-guideJieyou Xu-7/+10
2025-03-19Rollup merge of #138655 - Kobzol:rdg-sync, r=jieyouxuMatthias Krüger-32/+56
rustc-dev-guide sync r? `@jieyouxu`
2025-03-18Merge from rustcJieyou Xu-56/+56
2025-03-18Preparing for merge from rustcJieyou Xu-1/+1
2025-03-17Rollup merge of #138533 - Kobzol:try-job-auto-tests, r=marcoieniMatthias Krüger-0/+2
Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitly Some CI jobs (x64 Linux, ARM64 Linux and x64 MSVC) use the `opt-dist` tool to build an optimized toolchain using PGO and BOLT. When performing a default try build for x64 Linux, in most cases we want to run perf. on that artifact. To reduce the latency of this common use-case, `opt-dist` skips building several components not needed for perf., and it also skips running post-optimization tests, when it detects that the job is executed as a try job (not a merge/auto job). This is useful, but it also means that if you *want* to run the tests, you had to go to `jobs.yml` and manually comment this environment variable, create a WIP commit, do a try build, and then remove the WIP commit, which is annoying (in the similar way that modifying what gets run in try builds was annoying before we had the `try-job` annotations). I thought that we could introduce some additional PR description marker like `try-job-run-tests`, but it's hard to discover that such things exist. Instead, I think that there's a much simpler heuristic for determining whether `DIST_TRY_BUILD` should be used (that I implemented in this PR): - If you do just ``@bors` try`, without any custom try jobs selected, `DIST_TRY_BUILD` will be activated, to finish the build as fast as possible. - If you specify any custom try jobs, you are most likely doing experiments and you want to see if tests pass and everything builds as it should. The `DIST_TRY_BUILD` variable will thus *not* be set in this case. In this way, if you want to run dist tests, you can just add the `try-job: dist-x86_64-linux` line to the PR description, and you don't need to create any WIP commits. r? `@marcoieni`
2025-03-17replace config.toml to bootstrap.toml in src:doc:rustc-dev-guidebit-aloo-56/+56
2025-03-16expand ${workspaceFolder} in sample vim configjyn-1/+25
2025-03-16Add a note to rustc-dev-guideJakub Beránek-0/+2
2025-03-15add some copy-paste goodnessTshepang Mbambo-3/+3
2025-03-15make 'mdbook test --chapter "Running tests"' passTshepang Mbambo-1/+1
2025-03-15those should not get shell highlightingTshepang Mbambo-24/+24
2025-03-14Fix MCP linksJakub Beránek-2/+2
2025-03-14Merge pull request #2283 from jieyouxu/sync许杰友 Jieyou Xu (Joe)-78/+40
Rustc pull
2025-03-13Fix grammar and remove redundant infoKonaeAkira-2/+1
2025-03-13Remove the doc for `no-system-llvm`Josh Stone-1/+0
This compiletest directive was removed in rust-lang/rust#120265.
2025-03-13Document `fetch.prunetags = true` gotcha during rustc-pull许杰友 Jieyou Xu (Joe)-0/+13
2025-03-13Merge from rustc许杰友 Jieyou Xu (Joe)-77/+39
2025-03-13Preparing for merge from rustc许杰友 Jieyou Xu (Joe)-1/+1
2025-03-13less text for same effectTshepang Mbambo-3/+2
2025-03-12Move methods from `Map` to `TyCtxt`, part 4.Nicholas Nethercote-2/+2
Continuing the work from #137350. Removes the unused methods: `expect_variant`, `expect_field`, `expect_foreign_item`. Every method gains a `hir_` prefix.
2025-03-10Handle backticks in try job patternsJakub Beránek-11/+16
2025-03-10Modify try-job documentationJakub Beránek-5/+8
2025-03-10Merge pull request #2258 from fee1-dead-contrib/constckOli Scherer-67/+160
Rewrite effects checking chapter
2025-03-10Merge pull request #2273 from rust-lang/tshepang-patch-1许杰友 Jieyou Xu (Joe)-2/+2
use new terminology
2025-03-10add missing punctuationTshepang Mbambo-1/+1
2025-03-10clean --bless textTshepang Mbambo-5/+7
2025-03-10add a pause, for readabilityTshepang Mbambo-2/+2
2025-03-10already mentioned before showing code snippetTshepang Mbambo-1/+1
2025-03-10use new terminologyTshepang Mbambo-2/+2
2025-03-09Merge pull request #2270 from tshepang/example-llvm-prs许杰友 Jieyou Xu (Joe)-14/+9
mention llvm 20 in example prs
2025-03-09Merge pull request #2271 from rust-lang/tshepang-patch-1许杰友 Jieyou Xu (Joe)-2/+1
fix text
2025-03-08ignore-stage0 and only-stage0 do not existTshepang Mbambo-1/+1
2025-03-08fix textTshepang Mbambo-2/+1
- There is more than just target and stage - There is only 3 stages, so don't mention them specially
2025-03-08link to latest major llvm update prTshepang Mbambo-1/+2
2025-03-08only a few are needed as examplesTshepang Mbambo-6/+0
2025-03-08numbers were not sequential, so stop tryingTshepang Mbambo-7/+7
2025-03-08consider `explicit_implied_const_bounds`Deadbeef-1/+30
2025-03-07Document that `rmake.rs`/`run-make-support` may not use unstable features许杰友 Jieyou Xu (Joe)-0/+4
2025-03-05Don't suggest explicitly `cfg`-gating `trace!` calls in bootstrapmoxian-3/+1
2025-03-05Rollup merge of #136581 - jieyouxu:makefile-be-gone, r=Kobzol许杰友 Jieyou Xu (Joe)-60/+2
Retire the legacy `Makefile`-based `run-make` test infra The final piece of [porting run-make tests to use Rust #121876](https://github.com/rust-lang/rust/issues/121876). Closes #121876. Closes #40713. Closes #81791 (no longer using `wc`). Closes #56475 (no longer a problem in current form of that test; we don't ignore the test on `aarch64-unknown-linux-gnu`). ### Summary This PR removes the legacy `Makefile`-based `run-make` test infra which has served us well over the years. The legacy infra is no longer needed since we ported all of `Makefile`-based `run-make` tests to the new `rmake.rs` infra. Additionally, this PR: - Removes `tests/run-make/tools.mk` since no more `Makefile`-based tests remain. - Updates `tests/run-make/README.md` and rustc-dev-guide docs to remove mention about `Makefile`-based `run-make` tests - Update test suite requirements in rustc-dev-guide on Windows to no longer need MSYS2 (they should also now run successfully on native Windows MSVC). - Update `triagebot.toml` to stop backlinking to #121876. **Thanks to everyone who helped in this effort to modernize the `run-make` test infra and test suite!** r? bootstrap
2025-03-04Auto merge of #135695 - Noratrieb:elf-raw-dylib, r=bjorn3bors-0/+1
Support raw-dylib link kind on ELF raw-dylib is a link kind that allows rustc to link against a library without having any library files present. This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker. While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future. This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time. I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27 Tracking issue: #135694 r? bjorn3 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: test-various
2025-03-03Remove some unnecessary aliases from `rustc_data_structures::sync`Zalathar-2/+0
With the removal of `cfg(parallel_compiler)`, these are always shared references and `std::sync::OnceLock`.
2025-03-02Auto merge of #136864 - Kobzol:citool, r=marcoienibors-4/+13
Rewrite the `ci.py` script in Rust It would seem that I would learn by now that any script written in Python will become unmaintainable sooner or later, but alas.. r? `@marcoieni` try-job: aarch64-gnu try-job: dist-x86_64-linux-alt try-job: x86_64-msvc-ext2 Fixes: https://github.com/rust-lang/rust/issues/137013
2025-03-02rustc-dev-guide: remove mentions of legacy `Makefile` run-make infra许杰友 Jieyou Xu (Joe)-60/+2
And remove outdated requirements to run `run-make` tests on Windows.
2025-02-26Support raw-dylib link kind on ELFNoratrieb-0/+1
raw-dylib is a link kind that allows rustc to link against a library without having any library files present. This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker. While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future. This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time.
2025-02-25Merge from rustcBoxy-12/+63
2025-02-25Preparing for merge from rustcBoxy-1/+1
2025-02-25Fix posting message to ZulipJakub Beránek-1/+1
2025-02-24use lua localsjyn-5/+5
Co-authored-by: DianQK <dianqk@dianqk.net>