-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 6 pull requests #111414
Rollup of 6 pull requests #111414
Conversation
transmute<&[u8]> would be useful and as a beginner it is confusing to see documents casually confuse the types of &[u8] and [u8; SZ]
…lcnr Make alias bounds sound in the new solver (take 2) Make alias bounds sound in the new solver (in a way that does not require coinduction) by only considering them for projection types whose corresponding trait refs come from a param-env candidate. That is, given `<T as Trait>::Assoc: Bound`, we only *really* need to consider the alias bound if `T: Trait` is satisfied via a param-env candidate. If it's instead satisfied, e.g., via an user provided impl candidate or a , then that impl should have a concrete type to which we could otherwise normalize `<T as Trait>::Assoc`, and that concrete type is then responsible to prove the `Bound` on it. Similar consideration is given to opaque types, since we only need to consider alias bounds if we're *not* in reveal-all mode, since similarly we'd be able to reveal the opaque types and prove any bounds that way. This does not remove that hacky "eager projection replacement" logic from object bounds, which are somewhat like alias bounds. But removing this eager normalization behavior (added in rust-lang#108333) would require full coinduction to be enabled. Compare to rust-lang#110628, which does remove this object-bound custom logic but requires coinduction to be sound. r? `@lcnr`
Encode types in SMIR The first commit makes sure we can actually store a Ty<'tcx> (with the lifetime) in the thread local and get it back out. The second commit then introduces types. r? `@spastorino`
…t-inside-hidden, r=notriddle Correctly handle associated items of a trait inside a `#[doc(hidden)]` item Fixes rust-lang#111064. cc `@compiler-errors` r? `@notriddle`
Keep encoding attributes for closures see model-checking/kani#2406 (comment) for some context. We stopped encoding attributes for closures, but some tools need them
Fix incorrect implication of transmuting slices transmute<&[u8]> would be useful and as a beginner it is confusing to see documents casually confuse the types of &[u8] and [u8; SZ]
…onst, r=BoxyUwU Switch to `EarlyBinder` for `thir_abstract_const` query Part of the work to finish rust-lang#105779. This PR adds `EarlyBinder` to the return type of the `thir_abstract_const` query and removes `bound_abstract_const`. r? `@compiler-errors`
@bors r+ rollup=never p=6 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: previous master: 63fc57b98e In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (25444e5): 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)ResultsThis 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.
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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 657.842s -> 660.093s (0.34%) |
Successful merges:
#[doc(hidden)]
item #111095 (Correctly handle associated items of a trait inside a#[doc(hidden)]
item)EarlyBinder
forthir_abstract_const
query #111410 (Switch toEarlyBinder
forthir_abstract_const
query)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup