-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 8 pull requests #108920
Rollup of 8 pull requests #108920
Conversation
PR 107844 made DropAndReplace unused, let's remove it completely from the codebase.
Retry `pred_known_to_hold_modulo_regions` with fulfillment if ambiguous Fixes rust-lang#108721 The problem here is that when we're checking `is_sized_raw` during codegen on some type that has a lot of opaques in it, something emits several nested obligations that are individually ambiguous, but when processed together in a loop then apply modulo regions. Since the `evaluate_predicates_recursively` inner loop doesn't process predicates until they stop changing, we return `EvaluatedToAmbig`, which makes the sized check return false incorrectly. See: https://github.com/rust-lang/rust/blob/f15f0ea73972786e426732c5b92ba9a904b866c4/compiler/rustc_trait_selection/src/traits/select/mod.rs#L596-L606 ... Compared to the analogous loop in the new solver: https://github.com/rust-lang/rust/blob/f15f0ea73972786e426732c5b92ba9a904b866c4/compiler/rustc_trait_selection/src/solve/mod.rs#L481-L512 To fix this, if we get ambiguous during `pred_known_to_hold_modulo_regions`, just retry the obligation in a fulfillment context. -- Unfortunately... I don't have a test for this. I've only tested this locally. Pending minimization :/ r? types
…t-release-notes-for-1.41.1-apple32, r=Mark-Simulacrum 1.41.1 supported 32-bit Apple targets This question was raised by rust-lang#108556.
…oot-var, r=lcnr Canonicalize root var when making response from new solver During trait solving, if we equate two inference variables `?0` and `?1` but don't equate them with any rigid types, then `InferCtxt::probe_ty_var` will return `Err` for both of these. The canonicalizer code will then canonicalize the variables independently(!), and the response will not reflect the fact that these two variables have been made equal. This hinders inference and I also don't think it's sound? I haven't thought too much about it past that, so let's talk about it. r? ``@lcnr``
…asko Remove DropAndReplace terminator rust-lang#107844 made DropAndReplace unused, let's remove it completely from the codebase.
Tweak E0740 Also drive-by suppress E0740 if it's an unresolved type.
…k-Simulacrum Set `LIBC_CHECK_CFG=1` when building Rust code in bootstrap Downstream forks of the Rust compiler might want to use a custom `libc` to add support for targets that are not yet available upstream. Adding a patch to replace `libc` with a custom one would cause compilation errors though, because Cargo would interpret the custom `libc` as part of the workspace, and apply the check-cfg lints on it. Since rust-lang/libc#3037, the `libc` build script emits check-cfg flags only when the `LIBC_CHECK_CFG` environment variable is set, so this PR allows the use of custom `libc`s.
…-tester-code, r=notriddle Improve rustdoc-gui/tester.js code a bit Just a small clean-up. r? `@notriddle`
…er-errors Remove an unused return value in `rustc_hir_typeck` Unused since rust-lang#89580. Just something I noticed a while ago. `@rustbot` label C-cleanup
@bors r+ rollup=never p=8 |
⌛ Testing commit a22c5f9 with merge b44d559be8e301a9881a2569015befa70f79324c... |
💔 Test failed - checks-actions |
@bors retry |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: previous master: 66a2d62210 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (39f2657): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
|
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#108754 (Retry `pred_known_to_hold_modulo_regions` with fulfillment if ambiguous) - rust-lang#108759 (1.41.1 supported 32-bit Apple targets) - rust-lang#108839 (Canonicalize root var when making response from new solver) - rust-lang#108856 (Remove DropAndReplace terminator) - rust-lang#108882 (Tweak E0740) - rust-lang#108898 (Set `LIBC_CHECK_CFG=1` when building Rust code in bootstrap) - rust-lang#108911 (Improve rustdoc-gui/tester.js code a bit) - rust-lang#108916 (Remove an unused return value in `rustc_hir_typeck`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Successful merges:
pred_known_to_hold_modulo_regions
with fulfillment if ambiguous #108754 (Retrypred_known_to_hold_modulo_regions
with fulfillment if ambiguous)LIBC_CHECK_CFG=1
when building Rust code in bootstrap #108898 (SetLIBC_CHECK_CFG=1
when building Rust code in bootstrap)rustc_hir_typeck
#108916 (Remove an unused return value inrustc_hir_typeck
)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup