about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2025-08-11Add new Tier-3 target: riscv64a23-unknown-linux-gnuChen Zhongyao-0/+1
2025-08-11Pass Apple SDK root to compiler driver via SDKROOT env varMads Marquart-1/+1
This is more in-line with what Apple's tooling expects, and allows us to better support custom compiler drivers (such as certain Homebrew and Nixpkgs compilers) that prefer their own `-isysroot` flag. Effectively, we now invoke the compiler driver as-if it was invoked as `xcrun -sdk $sdk_name $tool`.
2025-08-11Deprecate RUST_TEST_* env variablesEd Page-4/+4
This is a documentation-only deprecation for now. Over time, we can - warn and then remove on use of unstable environment variables - warn on use of stable environment variables (no plan to remove due to compatibility) Longer term, we expect test runners, like `cargo test`, to provide the necessary mechanisms for environmental or persistent configuration (e.g. using cargo config which supports `.cargo/config.toml` as well as environment variables). This would include: - `RUST_TEST_THREADS` - `RUST_TEST_NOCAPTURE` - `RUST_TEST_SHUFFLE` (unstable) - `RUST_TEST_SHUFFLE_SEED` (unstable) The primary outcomes for this change are - Reducing the scope of what is expected for custom test harnesses to implement - Reduce the mechanisms that test runners, like `cargo test`, are expected to track when they are being bypassed to protect against negative interactions, e.g. `RUST_TEST_NOCAPTURE=1` when json output is being read.
2025-08-11fix clippy testEsteban Küber-0/+2
2025-08-11Auto merge of #145254 - GuillaumeGomez:rollup-7bp43pv, r=GuillaumeGomezbors-4/+6
Rollup of 4 pull requests Successful merges: - rust-lang/rust#144966 ( Improve suggestion for "missing function argument" on multiline call) - rust-lang/rust#145111 (remove some unused private trait impls) - rust-lang/rust#145221 (Fix Cargo cross-compilation (take two)) - rust-lang/rust#145247 (Update `sysinfo` version to `0.37.0`) r? `@ghost` `@rustbot` modify labels: rollup
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 booksrustbot-0/+0
2025-08-11Print created location of executed commandsJakub Beránek-20/+57
2025-08-11Update debugging/profiling bootstrap pageJakub Beránek-99/+49
2025-08-11Use `pretty_step_name` in `step_graph`Jakub Beránek-11/+5
2025-08-11Create tracing directory symlink even during dry runJakub Beránek-2/+14
2025-08-11Do not create a span for cached commandsJakub Beránek-3/+3
2025-08-11Always profile commands and generate Chrome profile when tracing is enabledJakub Beránek-56/+37
2025-08-11Correctly show executed command name in Chrome traceJakub Beránek-27/+54
2025-08-11Move tracing setup to the `tracing` moduleJakub Beránek-298/+304
2025-08-11Remove manual `#[instrument]` annotations on stepsJakub Beránek-161/+1
They could easily get out of sync and miss some fields. Now all steps are instrumented automatically.
2025-08-11Remove ad-hoc print of executed/cached steps in verbose modeJakub Beránek-4/+0
When verbose mode is enabled, it is very hard to see the actually executed steps.
2025-08-11Create a span for each executed stepJakub Beránek-28/+108
2025-08-11Replace `tracing_forest` with custom span formattingJakub Beránek-44/+338
2025-08-11Print step timings also when the stap starts to executeJakub Beránek-6/+18
So that it is easier to see which was the last started step when a failure happens on CI.
2025-08-11Use shorter command span labelJakub Beránek-1/+1
2025-08-11Store Chrome step trace into the tracing directoryJakub Beránek-14/+48
2025-08-11Store `latest` symlink to the latest tracing output directoryJakub Beránek-6/+15
2025-08-11Store bootstrap tracing outputs to a unified directoryJakub Beránek-28/+34
2025-08-11Auto merge of #145207 - Kobzol:codegen-backend-clif-dist, r=jieyouxubors-30/+45
Ship correct Cranelift library in its dist component The first commit adds a post-dist UI test to check that Cranelift can be used with the extracted dist x64 Linux archive. The original codegen copy logic in the Cranelift dist step was a bit redundant, and I didn't notice in https://github.com/rust-lang/rust/pull/144787 that it's copying the codegen backend from the build compiler's sysroot, rather than the target compiler's sysroot. The second commit modifies the logic to directly access the built codegen file (there is no need to search for it in the compiler's sysroot, in fact when you run just `x dist rustc_codegen_cranelift`, it shouldn't "taint" the sysroot with the codegen backend! Which it did before https://github.com/rust-lang/rust/pull/144787) and copy it to the tarball under a normalized name. Thus we get around any similar potential issues in the future, and make previously implicit logic more explicit. This also fixes running just `x dist rustc_codegen_cranelift` without enabling `cranelift` in `rust.codegen-backends`, which should have been enabled by https://github.com/rust-lang/rust/pull/144787, but it didn't work fully, because the dist step tried to copy the codegen backend from the compiler's sysroot, but it didn't contain the codegen backend if it was not enabled by `rust.codegen-backends`. Fixes: https://github.com/rust-lang/rust/issues/145201 try-job: dist-x86_64-linux
2025-08-11don't emit rustdoc::broken_intra_doc_links for stuff like [!NOTE]binarycat-2/+14
2025-08-11Add tracing to data race functionsStypox-0/+6
2025-08-11Document compiler and stdlib in stage1 in `pr-check-2` CI jobJakub Beránek-3/+3
2025-08-11Merge pull request #20434 from ShoyuVanilla/diag-fix-againShoyu Vanilla (Flint)-1/+1
fix: Panic while trying to clear old diagnostics while there's nothing
2025-08-12fix: Panic while trying to clear old diagnostics while there's nothingShoyu Vanilla-1/+1
2025-08-12Make import sorting order follow 2024 edition styleShoyu Vanilla-50/+219
2025-08-11Merge pull request #20420 from iorizu/doc-symbols-filterChayim Refael Friedman-47/+368
feat: Add Config Option to Exclude Locals from Document Symbol Search
2025-08-11Rollup merge of #145247 - GuillaumeGomez:update-sysinfo, r=KobzolGuillaume Gomez-4/+4
Update `sysinfo` version to `0.37.0` Some small performance improvements and internal cleanups.
2025-08-11Rollup merge of #145221 - Kobzol:cargo-dist-fix-2, r=jieyouxuGuillaume Gomez-0/+2
Fix Cargo cross-compilation (take two) In https://github.com/rust-lang/rust/pull/145083, I fixed the case of manually invoking `x dist cargo`, but I realized that `x install` creates the `tool::Cargo` step through the `from_build_frompiler` constructor, which doesn't go through `get_tool_target_compiler`. So we just prepare both the host and target stdlibs directly before building Cargo. Ideally we would get rid of `from_build_compiler`, but that will require refactoring the dist and test steps, which is upcoming. Hopefully fixes https://github.com/rust-lang/rust/issues/145059 for good.
2025-08-11Update rustc dev guidetiif-1/+6
2025-08-11Turn _span into _trace as trace span nameStypox-12/+12
_span could possibly be confused with the Span type in rustc
2025-08-11Add tracing to resolve-related functionsStypox-0/+2
2025-08-11Update `sysinfo` version to `0.37.0`Guillaume Gomez-4/+4
2025-08-11Auto merge of #145215 - Kobzol:rust-backtrace, r=marcoienibors-0/+3
Enable RUST_BACKTRACE=1 on CI We should really see the backtrace if something in bootstrap fails on CI. https://github.com/rust-lang/rust/pull/145011#issuecomment-3172664934 doesn't show many details.
2025-08-11hotfix: Update flycheck diagnostics generationShoyu Vanilla (Flint)-0/+1
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-11Auto merge of #145011 - Kobzol:bootstrap-doc, r=jieyouxubors-243/+514
Enforce in bootstrap that doc must have stage at least 1 Following with the bootstrap cleanups, this time around `doc` steps. Should be pretty straightforward, because the supporting infrastructure was already there. The only thing I found a bit fishy is using `Mode::ToolBootstrap` as a "catch-all" mode for non-rustc-private steps in `tool_doc!`, but I don't think that we need to distinguish the tools in some special way when documenting them, apart from supporting `rustc_private`. Before, `x doc` more or less defaulted to what we call stage 2 now. Now it is properly stage 1, so e.g. `x doc compiler` documents the compiler using the stage0/beta rust(do)c. r? `@jieyouxu` try-job: dist-aarch64-msvc
2025-08-11Merge ref '21a19c297d4f' from rust-lang/rustThe rustc-josh-sync Cronjob Bot-7315/+12857
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 21a19c297d4f5a03501d92ca251bd7a17073c08a Filtered ref: 9a5c1fb93028e1a29a7598ce782efb0c5d7be534 This merge was created using https://github.com/rust-lang/josh-sync.
2025-08-11Prepare for merging from rust-lang/rustThe rustc-josh-sync Cronjob Bot-1/+1
This updates the rust-version file to 21a19c297d4f5a03501d92ca251bd7a17073c08a.
2025-08-11add a tip for english writingyukang-1/+3
2025-08-11Rollup merge of #145149 - ↵Stuart Cook-306/+439
Shourya742:2025-07-08-convert-config-method-invoke-inside-parse-functions, r=Kobzol Make config method invoke inside parse use dwn_ctx This PR is part of a series of config refactorings. It removes calls from config methods to solid functions defined in `config.rs`. After this, we will remove the default dependencies in the config. r? ```@Kobzol```
2025-08-11Rollup merge of #143949 - clarfonthey:const-arith-ops, r=AmanieuStuart Cook-6/+3
Constify remaining traits/impls for `const_ops` Tracking issue: rust-lang/rust#143802 This is split into two commits for ease of reviewability: 1. Updates the `forward_ref_*` macros to accept multiple attributes (in anticipation of needing `rust_const_unstable` attributes) and also *require* attributes in these macros. Since the default attribute only helps for the initial implementations, it means it's easy to get wrong for future implementations, as shown for the saturating implementations which were incorrect before. 2. Actually constify the traits/impls. A few random other notes on the implementation specifically: * I unindented the attributes that were passed to the `forward_ref_*` macro calls because in some places rustfmt wanted them to be unindented, and in others it was allowed because they were themselves inside of macro bodies. I chose the consistent indenting even though I (personally) think it looks worse. ---- As far as the actual changes go, this constifies the following additional traits: * `Neg` * `Not` * `BitAnd` * `BitOr` * `BitXor` * `Shl` * `Shr` * `AddAssign` * `SubAssign` * `MulAssign` * `DivAssign` * `RemAssign` * `BitAndAssign` * `BitOrAssign` * `BitXorAssign` * `ShlAssign` * `ShrAssign` In terms of constified implementations of these traits, it adds the reference-forwarded versions of all the arithmetic operators, which are defined by the macros in `library/core/src/internal_macros.rs`. I'm not going to fully enumerate these because we'd be here all day, but sufficed to say, it effectively allows adding an `&` to one or both sides of an operator for primitives. Additionally, I constified the implementations for `Wrapping`, `Saturating`, and `NonZero` as well, since all of them forward to already-const-stable methods. (potentially via intrinsics, to avoid extra overhead) There are three "non-primitive" types which implement these traits, listed below. Note that I put "non-primitive" in quotes since I'm including `Wrapping`, `Saturating`, and `NonZero`, which are just wrappers over primitives. * `Duration` (arithmetic operations) * `SystemTime` (arithmetic operations) * `Ipv4Addr` (bit operations) * `Ipv6Addr` (bit operations) Additionally, because the methods on `SystemTime` needed to make these operations const were not marked const, a separate tracking issue for const-stabilising those methods is rust-lang/rust#144517. Stuff left out of this PR: * `Assume` (this could trivially be made const, but since the docs indicate this is still under heavy design, I figured I'd leave it out) * `Instant` (this could be made const, but cannot reasonably be constructed at constant time, so, isn't useful) * `SystemTime` (will submit separate PR) * SIMD types (I'm tackling these all at once later; see rust-lang/portable-simd#467) <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_CONCERN-ISSUE_START --> > [!NOTE] > # Concerns (0 active) > > - ~~[May break Clippy](https://github.com/rust-lang/rust/pull/143949#issuecomment-3081466077)~~ resolved in [this comment](https://github.com/rust-lang/rust/pull/143949#issuecomment-3083628215) > > *Managed by ```@rustbot`—see`` [help](https://forge.rust-lang.org/triagebot/concern.html) for details.* <!-- TRIAGEBOT_CONCERN-ISSUE_END --> <!-- TRIAGEBOT_END -->
2025-08-10Fix minor thingsIfeanyi Orizu-21/+20
2025-08-10Add config option to exclude locals from doc searchIfeanyi Orizu-28/+350