-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Rollup of 12 pull requests #149631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 12 pull requests #149631
Conversation
For half-open ranges, specifies that the upper bound cannot be the minimum. Also specify that this only applies to range patterns and not also expressions.
This reduces check times for miri from 2m15s to 20s. And reduces check times for miri with --compile-time-deps from 1m50s to 7s. This makes rust-analyzer start a lot faster after switching branches.
…flelapkin Fix ICE when applying test macro to crate root This PR does a couple of things. First of all, I found [an ICE](https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=a733a7f3d223e1a9712e44b571f3e5cf) that happens when applying `#![core::prelude::v1::test]` to the crate root. This is caused by the test macro not expanding to an item when `--test` isn't applied. For the crate root, that means it deletes the crate.... The fix now first does target checking, and only if the target is valid discards the item when `--test` isn't applied. The discarding is, I think, important for perf. The problem with this PR is that it means that `#[test]` applied to structs previously would give no errors unless `--test` is applied! That sounds like a bug to me, but maybe we should crater run it just in case, since technically that's a breaking change. Errors in such items wouldn't be reported previously. Also fixed a smol diagnostics bug with `#[bench]`'s error messages refering to `#[test]` accidentally. r? noratrieb (since I already explained you a bunch, feel free to re-assign) Fixes rust-lang#114920
…nments-macro-gen-147648, r=JonathanBrouwer Fix unused_assignments false positives from macros Fixes rust-lang#147648
Use `TypingMode::PostAnalysis` in `try_evaluate_const` As mentioned in rust-lang#148698 (comment), we should use ``TypingMode::PostAnalysis`` for that path. ````@BoxyUwU```` prefer the match in ``try_evaluate_const`` to be exhaustive, so I also included that in this PR :3
…lacrum std: don't call `current_os_id` from signal handler `current_os_id` is not always async-signal-safe depending on the platform, hence it may not be called from the SIGSEGV handler. Instead, store the thread ID along with the thread name during setup. With rust-lang#144465 merged, this information is available even before the thread main function.
…, r=lqd,oli-obk CTFE: avoid emitting a hard error on generic normalization failures Fixes rust-lang#149081. The fix is quite unsatisfying and should not be necessary, cc rust-lang#149283. That change is significantly more involved. This temporary fix introduces some unnecessary complexity and may hide other type system bugs. cc ````@rust-lang/types```` I think we should try to fix issue rust-lang#149283 in the near future and then remove this hack again. I originally intended a more targeted fix. I wanted to skip evaluating constants in MIR opts if their body was polymorphic and the current generic arguments still reference generic parameters. Notes from looking into this: - we only fetch the MIR in the `eval_to_allocation_raw` query - figuring out which MIR to use is hard - dealing with trivial consts is annoying - need to resolve instances for associated consts - implementing this by hand is hard - inlining handles this issue by bailing on literally all normalization failures, even the ones that imply an unsoundness - `try_normalize_after_erasing_regions` generally does two things - deal with ambiguity after inlining - deal with error tainting issues (please don't, we should stop doing that) - CTFE could be changed to always silently ignore normalization failures if we're in a generic body - hides actual bugs <- went with this option r? types
…, r=jieyouxu reword error for invalid range patterns For half-open ranges, specifies that the upper bound cannot be the minimum. Also specify that this only applies to range patterns and not also expressions. Fixes rust-lang#149165
…ark-Simulacrum
Additional test for uN::{gather,scatter}_bits
Feature gate: #![feature(uint_gather_scatter_bits)]
Tracking issue: rust-lang#149069
Accepted ACP: rust-lang/libs-team#695 (comment)
Adds an additional runtime test for `uN::gather_bits` and `uN::scatter_bits` in coretests. They are each other's inverses in a sense, so a shared test can test both with relative ease.
I plan to follow up with optimized implementations for these functions.
…-ttbr0_el2, r=WaffleLapkin Regression test for system register `ttbr0_el2` Regression test for recognising the `ttbr0_el2` register. closes rust-lang#97724
…=RalfJung Disable native-lib for x check miri This reduces check times for miri from 2m15s to 20s. And reduces check times for miri with --compile-time-deps from 1m50s to 7s. This makes rust-analyzer start a lot faster after switching branches. r? ```@RalfJung```
…=Mark-Simulacrum build-manifest: generate MSI and MINGW arrays from rustc An alternative to rust-lang#149503 The arrays after generating: ``` ❯ bat -n build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/build-manifest-e0236666c7c4187b/out/targets.rs | rg MSI -A14 136 static MSI_INSTALLERS: &[&str] = &[ 137 "aarch64-pc-windows-gnullvm", 138 "aarch64-pc-windows-msvc", 139 "i686-pc-windows-gnu", 140 "i686-pc-windows-msvc", 141 "x86_64-pc-windows-gnu", 142 "x86_64-pc-windows-gnullvm", 143 "x86_64-pc-windows-msvc", 144 ]; 145 static MINGW: &[&str] = &[ 146 "aarch64-pc-windows-gnullvm", 147 "i686-pc-windows-gnu", 148 "x86_64-pc-windows-gnu", 149 "x86_64-pc-windows-gnullvm", 150 ]; ``` r? ```@Mark-Simulacrum```
…d, r=workingjubilee c-variadic: bpf and spirv do not support c-variadic definitions tracking issue: rust-lang#44930 Emit a nice error message on bpf and spirv targets when a c-variadic function is defined. Spirv also does not support c-variadic calls, bpf appears to allow them. r? ```@workingjubilee```
Fix mailmap issue My name and username got separated in thanks.rust-lang.org, probably due to me changing my email in Github about a month ago.
|
@bors r+ rollup=never p=5 |
|
☀️ Test successful - checks-actions |
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 556beb9 (parent) -> b1b08cd (this PR) Test differencesShow 203 test diffsStage 0
Stage 1
Stage 2
(and 101 additional test diffs) 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 b1b08cdef5ed3bca71c0d6638fccadc90d2e0ea3 --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 |
|
📌 Perf builds for each rolled up PR:
previous master: 556beb9ec7 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (b1b08cd): comparison URL. Overall result: ❌ regressions - please read the text belowOur 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)Results (primary -0.8%, secondary 10.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 19.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 468.789s -> 467.027s (-0.38%) |
|
Ah, the unrolled perf. builds are still running 🤦 |
|
probably #149147 🤔 |
Successful merges:
TypingMode::PostAnalysisintry_evaluate_const#149183 (UseTypingMode::PostAnalysisintry_evaluate_const)current_os_idfrom signal handler #149456 (std: don't callcurrent_os_idfrom signal handler)ttbr0_el2#149549 (Regression test for system registerttbr0_el2)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup