-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Rollup of 3 pull requests #150448
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 3 pull requests #150448
Conversation
Closes rust-lang#125364 This test verifies that the never type fallback behavior in try blocks with `Into<!>` bounds works correctly across different editions: - Edition 2021: Fallback to `()` causes type error - Edition 2024: Fallback to `!` compiles successfully
Intrinsics only need a fraction of the functionality offered by BuilderMethods::call and in particular don't need the FnAbi to be computed other than (currently) as step towards computing the function value type.
This moves all LLVM intrinsic handling out of the regular call path for cg_gcc and makes it easier to hook into this code for future cg_llvm changes.
As this is the only unwinding intrinsic we use and codegen_llvm_intrinsic_call currently doesn't handle unwinding intrinsics, this uses the conventional call path for llvm.wasm.throw.
…ndling, r=WaffleLapkin Split LLVM intrinsic abi handling from the rest of the abi handling LLVM intrinsics have weird requirements like requiring the fake "unadjusted" abi, not being callable through function pointers and for all codegen backends other than cg_llvm requiring special cases to redirect them to the correct backend specific intrinsic (or directly codegen their implementation inline without any intrinsic call). By splitting the LLVM intrinsic handling it becomes easier for backends to special case them and should in the future allow getting rid of the abi calculation for `extern "unadjusted"` in favor of computing the correct abi directly in the backend without depending on the exact way cg_ssa lowers types.
…m, r=oli-obk
fix rustfmt on `const impl Ty {}`
r? `@oli-obk` on rust-lang#148434, cc `@ytmimi` for https://github.com/rust-lang/rust/pull/148434/changes#r2637972310
format_constness_right outputs `" const"` whereas format_constness outputs `"const "`
Not making this change to rust-lang/rustfmt since I'm not sure if that repo has these changes yet.
…y-blocks, r=WaffleLapkin Add test for never type fallback in try blocks with `Into<!>` ### Summary Adds UI tests for issue rust-lang#125364, which involves the interaction between never type fallback, try blocks, and `From`/`Into` trait bounds. ### Changes - Added `tests/ui/never_type/try-block-never-type-fallback.rs` - Tests both edition 2021 (where the issue manifests) and edition 2024 (where it's fixed) ### Issue Closes rust-lang#125364 ### Testing ```bash ./x test tests/ui/never_type/try-block-never-type-fallback.rs ``` Both test variants pass: e2021: Correctly fails with expected error e2024: Compiles successfully (check-pass) ### Notes This test documents the edition-dependent behavior of never type fallback in try blocks, as requested in the original issue. cc `@WaffleLapkin`
|
@bors r+ rollup=never p=5 |
|
☀️ Test successful - checks-actions |
|
📌 Perf builds for each rolled up PR:
previous master: 7b5cde7370 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 7b5cde7 (parent) -> 23d01cd (this PR) Test differencesShow 7 test diffsStage 1
Stage 2
Additionally, 3 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 23d01cd2412583491621ab1ca4f1b01e37d11e39 --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 (23d01cd): 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)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 484.246s -> 484.138s (-0.02%) |
Successful merges:
const impl Ty {}#150358 (fix rustfmt onconst impl Ty {})Into<!>#150434 (Add test for never type fallback in try blocks withInto<!>)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup