Rollup of 6 pull requests#152230
Conversation
Instead, always use the Xcode-provided Clang to build LLVM.
Bootstrap no longer infers the archiver as `clang-ar`, so we don't need to set this explicitly.
Instead of manually setting up CC/CXX environment variables, use the default configuration that Xcode gives us.
Some history about `paths()`. The original intent Mark-Simulacrum had when he introduced PathSet, to my knowledge, was that multiple paths could be aliases for the same step. That's what rustdoc is doing; both paths for rustdoc run exactly the same Step, regardless of whether one or both are present. That never really caught on. To my knowledge, rustdoc is the only usage of paths() there's ever been. Later, in 95503, I repurposed PathSet to mean "each crate in this set should be passed to Step::make_run in RunConfig". That was not the previous meaning. Rustdoc never looks at run.paths in make_run, so it's safe to just treat it as an alias, like elsewhere in bootstrap. Same for all the other tool steps. Co-authored-by: Tshepang Mbambo <hopsi@tuta.io>
…, r=davidtwco cmse: don't use `BackendRepr` when checking return type tracking issue: rust-lang#81391 tracking issue: rust-lang#75835 r? davidtwco cc @RalfJung context: rust-lang/rfcs#3884 (comment) I believe this is more reliable, and no longer relies on `BackendRepr`. I also added a test specifically for using `repr(Rust)`.
…tr-radix, r=Amanieu feat: Add `NonZero::<T>::from_str_radix` - Accepted ACP: rust-lang/libs-team#548 - Tracking issue: rust-lang#152193 This pull request adds a method to `NonZero<T>` that parses a non-zero integer from a string slice with digits in a given base. When using the combination of `int::from_str_radix` and `NonZero::<T>::new`, [`IntErrorKind::Zero`](https://doc.rust-lang.org/core/num/enum.IntErrorKind.html#variant.Zero) cannot be returned as an error. When using `NonZero::<T>::from_str`, `IntErrorKind::Zero` can be returned as an error, but this method cannot parse non-decimal integers. `NonZero::<T>::from_str_radix` can return `IntErrorKind::Zero` as an error, and can parse both decimal integers and non-decimal integers.
Fix ICE in normalizing inherent associated consts with `#[type_const]` Fixes rust-lang#151027 Fixes rust-lang#138089 Fixes rust-lang#138226 Fixes rust-lang#150960 When an inherent associated const is marked with `#[type_const]`, its generics expect args in the format `[Self, own_params...]`, similar to inherent associated types. However, HIR typeck's `instantiate_value_path` was constructing args in the regular associated const format `[impl_params..., own_params...]`. This mismatch caused ICEs when the `args` were later used in contexts expecting the IAC format, such as user type annotations and `borrowck`'s type ascription.
…shepmaster Always use Xcode-provided Clang in macOS CI Most of our macOS CI runners use the Xcode-provided Clang. `dist-apple-various` still downloads Clang from LLVM's prebuilt sources, which is a bit problematic, because we're still using the Xcode-provided _headers_. As a concrete example, using Xcode's Clang is required by rust-lang#152013, as otherwise updating to Xcode 26 headers fails with an obscure `fatal error: 'net/route.h' file not found`, see [this build log](rust-lang#152013 (comment)). I suspect this is because building the new headers isn't officially supported with the older LLVM/Clang 15. This PR removes that functionality, so that we instead always build with the Xcode-provided Clang. This is effectively the same as setting `USE_XCODE_CLANG=1` on `dist-apple-various` as well, but I thought I'd clean things up while I'm at it. I didn't find the reason why we did this in first place, maybe because the Xcode Clang at the time was too out of date to build LLVM? It doesn't seem to be a problem anymore though. r? t-infra
bootstrap: Remove `ShouldRun::paths` Split out from rust-lang#151930. I've copied my comment in rust-lang#151930 (comment) into the commit description. r? @Zalathar cc @Mark-Simulacrum @Kobzol --- Some history about `paths()`. The original intent @Mark-Simulacrum had when he introduced PathSet in rust-lang@f104b12, to my knowledge, was that multiple paths could be aliases for the same step. That's what rustdoc is doing; both paths for rustdoc run exactly the same Step, regardless of whether one or both are present. That never really caught on. To my knowledge, rustdoc is the only usage of paths() there's ever been. Later, in rust-lang#95503, I repurposed PathSet to mean "each crate in this set should be passed to Step::make_run in RunConfig". That was not the previous meaning. Rustdoc never looks at run.paths in make_run, so it's safe to just treat it as an alias, like elsewhere in bootstrap. Same for all the other tool steps.
…r=davidtwco Re-add TaKO8Ki to triagebot review queue I’m rejoining the compiler review rotation to help with ongoing review load.
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: 55bfca7d7d In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 55bfca7 (parent) -> bce89b6 (this PR) Test differencesShow 765 test diffsStage 1
Stage 2
Additionally, 746 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard bce89b6a56fecd6f1a150c9657e4b50dea994f83 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (bce89b6): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.8%, secondary -4.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 475.203s -> 474.508s (-0.15%) |
Successful merges:
BackendReprwhen checking return type #151590 (cmse: don't useBackendReprwhen checking return type)NonZero::<T>::from_str_radix#151945 (feat: AddNonZero::<T>::from_str_radix)#[type_const]#152000 (Fix ICE in normalizing inherent associated consts with#[type_const])ShouldRun::paths#152196 (bootstrap: RemoveShouldRun::paths)r? @ghost
Create a similar rollup