Rollup of 11 pull requests - #161289
Conversation
…*_checked` requiring a `&Resolver` to check the speculative flag. The normal ones require a `&mut Resolver` thus not needing to check the speculative flag. Mostly to minimize per "penalty" of always checking it, even if we definitely know that we are not in speculative resolution (due to `&mut Resolver`).
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Like `repr(simd)`, fields of scalable vectors should not be considered dead code.
…rochenkov resolving cyclic glob vis-max Fixes rust-lang#160685 rust-lang#159039 follows `ambiguity_vis_max`. Mutual globs can cycle that and overflow the stack. Visit each most-visible glob once, and still walk `source_decl` so it stays public. Also shortened the rust-lang#159038 regression-test headers. r? petrochenkov @rustbot label +A-resolve +A-visibility +T-compiler +beta-nominated
…lqd,mu001999 passes: `rustc_scalable_vector` fields are not dead Like `repr(simd)`, fields of scalable vectors should not be considered dead code.
…ch, r=petrochenkov remove scalar size mismatch interpreter error, make it an ICE instead This error was added in rust-lang#71569 to deal with ICEs on incorrect Miri shim signatures. However, that was a partial fix: if the signature is "even more incorrect", using a non-scalar type where the type should be scalar, we still ICE. The proper fix is tracked in rust-lang/miri#3842, and that is already used for a good chunk of our shims. I don't think it's worth keeping around the old, incomplete check here, so let's get rid of it. Sadly, the `to_$int` methods on `Scalar` still return a `Result` as they must still error if the scalar is a pointer and we are in const-eval where we cannot turn that pointer into an integer. We should probably use `ScalarInt` in a lot more places where we currently use `Scalar` to statically exclude this case... but that's a change for another time.
…, r=petrochenkov Resolver: add `checked` methods for `Cm(Ref)Cell` part of rust-lang#158845 Introduces extra functions for the mutating functions of `Cm(Ref)Cell` with a `checked` suffix that are the same logic as current ones. It allows for the functions without the suffix to ignore the check on the speculative flag by requiring a `&mut Resolver`, which is only possible if we are definitely not in speculative resolution. r? @petrochenkov
…ait-ice, r=khyperia Avoid ICE when recovering parenthesized type parameters fix an ICE when impl Trait appears inside invalid parenthesized generic arguments by preserving the existing E0214 error path instead of lowering it as an opaque type Fixes rust-lang#161062
…ieyouxu Compute job time in post-merge-report from the actual GitHub duration Up until now, the post-merge report analysis showed job durations computed from the sum of executed bootstrap steps. But this is quite confusing, because it does not correspond to the actual times we see on GitHub. I got quite worried recently about some durations, until I realized that I'm looking at something different than I thought I was. r? jieyouxu
…lkertdev Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>` This PR fixes handling of `#[repr(transparent)]` types both containing `Complex<T>` and containing the `T` with `Complex<T>`. I've also added a test case for where this was showing up in the `x86` ABI. r? @folkertdev
Add regression test for indexing an unsized static without a body Closes rust-lang#141804 r? compiler
Ignore target feature test when LLVM fails to compile minicore llvm/llvm-project#111334 made LLVM reject certain target feature + ABI mismatches (ARM hard / soft float) which means that minicore now [fails to build](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/48076/canvas?sid=01a00f60-fa22-4f35-a854-0b6d1c302123) with errors like `error: <unknown>:0:0: in function _RNvXsc_Cs4Af2OiBEA1T_8minicoreiNtB5_3Add3add i32 (i32, i32): calling convention is hard-float, but floating-point registers are unavailable` This PR ignores the test where this currently happens on LLVM 24, assuming that if LLVM is now rejecting this, we should turn the rust-side warning into an error as well. Created rust-lang#161276 to track that. r? @RalfJung (since you worked ~recently on these, including migrating them to minicore) @rustbot label llvm-main
…-fast-path, r=petrochenkov perf: return early from in_external_macro for root contexts This line was hot when profiling clippy-driver. With this change, clippy instructions reduce for ryu -1.01%, syn -0.21%, regex -0.20%. r? @petrochenkov
Add regression test for normalization failure on erased closure in async block Closes rust-lang#151299
This comment has been minimized.
This comment has been minimized.
Rollup of 11 pull requests try-job: dist-various-1 try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple-1 try-job: aarch64-apple-2 try-job: x86_64-mingw-1 try-job: i686-msvc-1 try-job: i686-msvc-2
This comment has been minimized.
This comment has been minimized.
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 444dcce (parent) -> e71c0f1 (this PR) Test differencesShow 15 test diffsStage 1
Stage 2
Additionally, 2 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 e71c0f1e3395b10a8c331317be1a5c107bdf7b2e --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 (e71c0f1): comparison URL. Overall result: ❌ regressions - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@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)This perf run didn't have relevant results for this metric. CyclesResults (secondary -3.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 455.347s -> 456.919s (0.35%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 444dcce484 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Successful merges:
rustc_scalable_vectorfields are not dead #161231 (passes:rustc_scalable_vectorfields are not dead)checkedmethods forCm(Ref)Cell#160345 (Resolver: addcheckedmethods forCm(Ref)Cell)#[repr(transparent)]wrapper types not working withComplex<T>#161239 (Fix#[repr(transparent)]wrapper types not working withComplex<T>)r? @ghost
Create a similar rollup