summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
AgeCommit message (Collapse)AuthorLines
2025-01-24Rollup merge of #135926 - jieyouxu:needs-subprocess-thread, r=oli-obkMatthias Krüger-1/+2
Implement `needs-subprocess` directive, and cleanup a bunch of tests to use `needs-{subprocess,threads}` ### Summary Closes #128295. - Implements `//@ needs-subprocess` directive in compiletest as requested in #128295. However, compiletest is a host tool, so we can't just try to spawn process because that spawns the process on *host*, not the *target*, under cross-compilation scenarios. - The short-term solution is to add *Yet Another* list of allow-list targets. - The long-term solution is to first check if a `$target` supports std, then try to run a binary to do run-time capability detection *on the target*. But that is tricky because you have to build-and-run a binary *for the target*. - This PR picks the short-term solution, because the long-term solution is highly non-trivial, and it's already an improvement over individual `ignore-*`s all over the place. - Opened an issue about the long-term solution in #135928. - Documents `//@ needs-subprocess` in rustc-dev-guide. - Replace `ignore-{wasm,wasm32,emscripten,sgx}` with `needs-{subprocess,threads}` where suitable in tests. - Some drive-by test changes as I was trying to figure out if I could use `needs-{subprocess,threads}` and found some bits needlessly distracting. Count of tests that use `ignore-{wasm,wasm32,emscripten,sgx}` before and after this PR: | State | `ignore-sgx` | `ignore-wasm` | `ignore-emscripten` | | - | - | - | - | | Before this PR | 96 | 88 | 207 | | After this PR | 36 | 38 | 61 | <details> <summary>Commands used to find out locally</summary> ``` --- before [17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-sgx" tests | wc -l 96 [17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-wasm" tests | wc -l 88 [17:40] Joe:rust (fresh) | rg --no-ignore -l "ignore-emscripten" tests | wc -l 207 --- after [17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-sgx" tests | wc -l 36 [17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-wasm" tests | wc -l 38 [17:39] Joe:rust (needs-subprocess-thread) | rg --no-ignore -l "ignore-emscripten" tests | wc -l 61 ``` </details> ### Review advice - Best reviewed commit-by-commit. - Non-trivial test changes (not mechanically simple replacements) are split into individual commits to help with review. Their individual commit messages give some basic description of the changes. - I *could* split some test changes out into another PR, but I found that I needed to change some tests to `needs-threads`, some to `needs-subprocess`, and some needed to use *both*, so they might conflict and become very annoying. --- r? ``@ghost`` (need to run try jobs) try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: i686-mingw try-job: x86_64-mingw-1 try-job: x86_64-apple-1 try-job: aarch64-apple try-job: aarch64-gnu try-job: test-various try-job: armhf-gnu
2025-01-24Cross-link documentation for adding a new targetMads Marquart-0/+5
Both the target tier policy and the rustc-dev-guide has documentation on this, let's make sure people see both.
2025-01-24fix(solve/significant-changes): typoAda Alakbarova-1/+1
2025-01-24Revert "Add `@bors rollup=never` to rustc-push PR body"Jakub Beránek-1/+1
2025-01-24Document Python formatting and linting in the rustc-dev-guideJakub Beránek-3/+25
2025-01-24Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35Matthias Krüger-1/+2
remove pointless allowed_through_unstable_modules on TryFromSliceError This got added in https://github.com/rust-lang/rust/pull/132482 but the PR does not explain why. `@lukas-code` do you still remember? Also Cc `@Noratrieb` as reviewer of that PR. If I understand the issue description correctly, all paths under which this type is exported are stable now: `core::array::TryFromSliceError` and `std::array::TryFromSliceError`. If that is the case, we shouldn't have the attribute; it's a terrible hack that should only be used when needed to maintain backward compatibility. Getting some historic information right is IMO *not* sufficient justification to risk accidentally exposing this type via more unstable paths today or in the future.
2025-01-23Rollup merge of #135880 - bjorn3:misc_driver_refactors, r=oli-obkMatthias Krüger-18/+16
Get rid of RunCompiler The various `set_*` methods that have been removed can be replaced by setting the respective fields in the `Callbacks::config` implementation. `set_using_internal_features` was often forgotten and it's equivalent is now done automatically.
2025-01-23rustc-dev-guide: document `needs-subprocess` directive许杰友 Jieyou Xu (Joe)-1/+2
2025-01-23Remove RunCompilerbjorn3-6/+6
It has become nothing other than a wrapper around run_compiler.
2025-01-23Remove set_make_codegen_backend and set_file_loaderbjorn3-14/+12
They can both be set inside the config callback too.
2025-01-21Add `@bors rollup=never` to rustc-push PR bodyJakub Beránek-1/+1
2025-01-21Add test for checking used glibc symbolsJakub Beránek-0/+2
2025-01-20Send a message to Zulip when a sync finishesJakub Beránek-2/+32
2025-01-20Merge pull request #2215 from Kobzol/pullJakub Beránek-6/+119
rustc pull
2025-01-20Merge from rustcJakub Beránek-5/+118
2025-01-20Preparing for merge from rustcJakub Beránek-1/+1
2025-01-20Add portable SIMD to list of subtreesJakub Beránek-0/+2
2025-01-20docs: document how to install a suitable `josh-proxy` locally许杰友 Jieyou Xu (Joe)-0/+7
Co-authored-by: Boxy <rust@boxyuwu.dev>
2025-01-19Fix dev guide docs for error-patternNoratrieb-1/+2
I know it would have made more sense to make this PR to the dev guide repo but I had already made the fix before I realized that.
2025-01-18Merge pull request #2211 from patrickoliveira15/patch/inference-invarianceYuki Okushi-3/+0
2025-01-17remove outdated text about wfx impliesPatrick Oliveira-3/+0
2025-01-17compiletest: fix outdated `rustdoc-js` test suite name许杰友 Jieyou Xu (Joe)-1/+1
2025-01-15nyaalcnr-2/+2
2025-01-14fix some more typosRyan Mehri-16/+16
2025-01-15Merge pull request #2202 from Kobzol/pull-ci许杰友 Jieyou Xu (Joe)-0/+73
2025-01-14Fix some broken linksNoah Lev-11/+10
* Rename `StringReader -> Lexer` * Remove deleted `Query` struct * Update some internal links
2025-01-14rustc-dev-guide: add note about not adding ↵Ralf Jung-1/+2
rustc_allowed_through_unstable_modules to more items
2025-01-13rustc-dev-guide: document `BOOTSTRAP_TRACING` and bootstrap `tracing` setup许杰友 Jieyou Xu (Joe)-0/+104
2025-01-12rustc-dev-guide: update outdated LLVM stamp filenameonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-11Add CI workflow for performing rustc-pullJakub Beránek-0/+58
2025-01-11Merge pull request #2205 from ehuss/ci-config许杰友 Jieyou Xu (Joe)-0/+15
2025-01-10Fix calculate-job-matrix.py linkEric Huss-2/+2
2025-01-10Document how to find the configuration used in CIEric Huss-0/+15
This documents how to determine which settings are used in CI, since I see this question come up regularly. We currently don't have a great way to answer the question, but at least there is something.
2025-01-09ci: Remove incorrect use of `continue-on-error`Noah Lev-2/+1
This will cause the CI build to be marked successful even if the build failed. Instead, use `if: '!cancelled()'` to always save the cache (except when the job is cancelled), even if the linkcheck failed. See https://stackoverflow.com/a/58859404 for more.
2025-01-08Error if there is nothing to pullJakub Beránek-0/+10
2025-01-08Print an explicit message if the base repo head commit is up-to-dateJakub Beránek-0/+5
2025-01-08Update keyMartin Liska-3/+3
2025-01-08Save linkcheck cache alwaysMartin Liska-7/+19
2025-01-08Preparing for merge from rustcJakub Beránek-1/+1
2025-01-07Update rustc-dev-guideJakub Beránek-5/+13
2025-01-07Fix broken raw HTML (#2198)Max Heller-2/+2
2025-01-06Only keep label description in Forge docs许杰友 Jieyou Xu (Joe)-61/+1
2025-01-06Add rustc-dev-guide to the list of repositories managed by josh (#2197)Jakub Beránek-1/+3
2025-01-06add josh-sync build dir to gitignore (#2196)Boxy-0/+2
2025-01-05Preparing for merge from rustcJakub Beránek-0/+1
2025-01-05Preparing for merge from rustcJakub Beránek-0/+1
2025-01-05Split stuff out of representing types, and rewrite early/late bound chapter ↵Boxy-370/+433
(#2192)
2025-01-05Describe how to use rust-analyzer with `rmake.rs` (#2191)Stuart Cook-0/+40
2025-01-05fix commentTshepang Mbambo-2/+1
2025-01-05make paragraph more readableTshepang Mbambo-3/+5