about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-11llvm: Accept new LLVM lifetime formatMatthew Maurer-38/+42
LLVM removed the size parameter from the lifetime format. Tolerate not having that size parameter.
2025-08-11Tweak trait modifier errorsCameron Steffen-55/+50
2025-08-11Move trait impl modifier errors to parsingCameron Steffen-78/+123
This is a technically a breaking change for what can be parsed in `#[cfg(false)]`.
2025-08-11Factor out InherentImplCannotUnsafeCameron Steffen-19/+15
2025-08-11Account for new `assert!` desugaring in `!condition` suggestionEsteban Küber-56/+144
`rustc` is going to change the desugaring of `assert!` to be ```rust match condition { true => {} _ => panic!(), } ``` which will make the edge-case of `condition` being `impl Not<Output = bool>` while not being `bool` itself no longer a straightforward suggestion, but `!!condition` will coerce the expression to be `bool`, so it can be machine applicable.
2025-08-11Account for new `assert!` desugaring in `!condition` suggestionEsteban Küber-56/+144
`rustc` is going to change the desugaring of `assert!` to be ```rust match condition { true => {} _ => panic!(), } ``` which will make the edge-case of `condition` being `impl Not<Output = bool>` while not being `bool` itself no longer a straightforward suggestion, but `!!condition` will coerce the expression to be `bool`, so it can be machine applicable.
2025-08-11Always attempt to invoke xcrun to get the Apple SDKMads Marquart-4/+41
The exact reasoning why we do not always pass the SDK root when linking on macOS eludes me, but I suspect it's because we want to support compiler drivers which do not support the `-isysroot` option. Since we now pass the SDK root via the environment variable SDKROOT, compiler drivers that don't support it can just ignore it. Similarly, since we only warn when xcrun fails, users that expect their compiler driver to provide the SDK location can do so now.
2025-08-11Revert "Add a disabled builder for riscv64 rva23 emulated tests"Zhongyao Chen-189/+1
This reverts commit 289688ca494ddc45bcd0b0706dc173c19fbb7caa.
2025-08-11Update src/doc/rustc/src/platform-support/riscv64a23-unknown-linux-gnu.mdzhongyao-30/+6
Co-authored-by: zachs18 <8355914+zachs18@users.noreply.github.com>
2025-08-11Add target page for riscv64a23-unknown-linux-gnuZhongyao Chen-0/+68
2025-08-11Add a disabled builder for riscv64 rva23 emulated testsChen Zhongyao-1/+189
This will run all tests for `riscv64a23-unknown-linux-gnu` in a QEMU instance.
2025-08-11Add new Tier-3 target: riscv64a23-unknown-linux-gnuChen Zhongyao-1/+166
2025-08-11Only warn when invoking xcrunMads Marquart-3/+24
To allow using zig-cc or similar as the compiler driver.
2025-08-11Pass Apple SDK root to compiler driver via SDKROOT env varMads Marquart-31/+39
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-13/+12
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-11fix clippy testEsteban Küber-0/+2
2025-08-11Simplify `add_apple_sdk`Mads Marquart-25/+20
Reduce indentation and avoid needless checks (checking the target OS and vendor is unnecessary).
2025-08-11Auto merge of #145254 - GuillaumeGomez:rollup-7bp43pv, r=GuillaumeGomezbors-45/+100
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-11Respond to review commentsSabrinaJewson-5/+5
2025-08-11Update actions/checkouts to v5 (#15457)Philipp Krones-13/+13
Update [actions/checkouts](https://github.com/actions/checkout?tab=readme-ov-file#usage) to v5 changelog: none
2025-08-11Rework `NameValueStr`Esteban Küber-9/+9
2025-08-11Add more docs to templates for attrs with incorrect argumentsEsteban Küber-56/+225
2025-08-11Update booksrustbot-0/+0
2025-08-11Print created location of executed commandsJakub Beránek-20/+57
2025-08-11Get myself off assignment rotation (#15459)Samuel Tardieu-0/+1
r? ghost changelog: none
2025-08-11Get myself off assignment rotationSamuel Tardieu-0/+1
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-11Make explicit guarantees about `Vec`’s allocatorSabrinaJewson-4/+47
This commit amends the documentation of `Vec::as_mut_ptr` and `Vec::into_raw_parts` to make it explicit that such calls may be paired with calls to `dealloc` with a suitable layout. This guarantee was effectively already provided by the docs of `Vec::from_raw_parts` mentioning `alloc`. Additionally, we copy-paste and adjust the “Memory layout” section from the documentation of `std::boxed` to `std::vec`. This explains the allocator guarantees in more detail.
2025-08-11Auto merge of #145207 - Kobzol:codegen-backend-clif-dist, r=jieyouxubors-30/+56
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-11fix testsEsteban Küber-12/+20
2025-08-11Add link to invalid `repr` errorEsteban Küber-0/+10
2025-08-11Add link to docs on malformed attributesEsteban Küber-87/+344
2025-08-11Allow attr entries to declare list of alternatives for `List` and ↵Esteban Küber-272/+711
`NamedValueStr` Modify `AttributeTemplate` to support list of alternatives for list and name value attribute styles. Suggestions now provide more correct suggested code: ``` error[E0805]: malformed `used` attribute input --> $DIR/used_with_multi_args.rs:3:1 | LL | #[used(compiler, linker)] | ^^^^^^------------------^ | | | expected a single argument here | help: try changing it to one of the following valid forms of the attribute | LL - #[used(compiler, linker)] LL + #[used(compiler)] | LL - #[used(compiler, linker)] LL + #[used(linker)] | LL - #[used(compiler, linker)] LL + #[used] | ``` instead of the prior "masking" of the lack of this feature by suggesting pipe-separated lists: ``` error[E0805]: malformed `used` attribute input --> $DIR/used_with_multi_args.rs:3:1 | LL | #[used(compiler, linker)] | ^^^^^^------------------^ | | | expected a single argument here | help: try changing it to one of the following valid forms of the attribute | LL - #[used(compiler, linker)] LL + #[used(compiler|linker)] | LL - #[used(compiler, linker)] LL + #[used] | ```