-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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 #118757
Rollup of 6 pull requests #118757
Commits on Dec 8, 2023
-
Add instance evaluation and methods to read alloc
The instance evaluation is needed to handle intrinsics such as `type_id` and `type_name`. Since we now use Allocation to represent all evaluated constants, provide a few methods to help process the data inside an allocation.
Configuration menu - View commit details
-
Copy full SHA for 4c9e842 - Browse repository at this point
Copy the full SHA 4c9e842View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9cb6463 - Browse repository at this point
Copy the full SHA 9cb6463View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a0e7e6 - Browse repository at this point
Copy the full SHA 0a0e7e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e15c49 - Browse repository at this point
Copy the full SHA 9e15c49View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb53721 - Browse repository at this point
Copy the full SHA eb53721View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5fdb648 - Browse repository at this point
Copy the full SHA 5fdb648View commit details -
detects redundant imports that can be eliminated. for rust-lang#117772 : In order to facilitate review and modification, split the checking code and removing redundant imports code into two PR.
Configuration menu - View commit details
-
Copy full SHA for 4b64fbf - Browse repository at this point
Copy the full SHA 4b64fbfView commit details -
privacy: visit trait def id of projections
A refactoring in rust-lang#117076 changed the `DefIdVisitorSkeleton` to avoid calling `visit_projection_ty` for `ty::Projection` aliases, and instead just iterate over the args - this makes sense, as `visit_projection_ty` will indirectly visit all of the same args, but in doing so, will also create a `TraitRef` containing the trait's `DefId`, which also gets visited. The trait's `DefId` isn't visited when we only visit the arguments without separating them into `TraitRef` and own args first. Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5d97724 - Browse repository at this point
Copy the full SHA 5d97724View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb41509 - Browse repository at this point
Copy the full SHA cb41509View commit details -
- Take more things by self, not &self - Clone more things - Rework namespacing so we can use `ty::` in the canonicalizer
Configuration menu - View commit details
-
Copy full SHA for 1f5895b - Browse repository at this point
Copy the full SHA 1f5895bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80f240a - Browse repository at this point
Copy the full SHA 80f240aView commit details -
Rollup merge of rust-lang#117586 - compiler-errors:the-canonicalizer,…
… r=lcnr Uplift the (new solver) canonicalizer into `rustc_next_trait_solver` Uplifts the new trait solver's canonicalizer into a new crate called `rustc_next_trait_solver`. The crate name is literally a bikeshed-avoidance name, so let's not block this PR on that -- renames are welcome later. There are a host of other changes that were required to make this possible: * Expose a `ConstTy` trait to get the `Interner::Ty` from a `Interner::Const`. * Expose some constructor methods to construct `Bound` variants. These are currently methods defined on the interner themselves, but they could be pulled into traits later. * Expose a `IntoKind` trait to turn a `Ty`/`Const`/`Region` into their corresponding `*Kind`s. * Some minor tweaks to other APIs in `rustc_type_ir`. The canonicalizer code itself is best reviewed **with whitespace ignored.** r? `@lcnr`
Configuration menu - View commit details
-
Copy full SHA for f8b8824 - Browse repository at this point
Copy the full SHA f8b8824View commit details -
Rollup merge of rust-lang#118692 - surechen:remove_unused_imports, r=…
…petrochenkov remove redundant imports detects redundant imports that can be eliminated. for rust-lang#117772 : In order to facilitate review and modification, split the checking code and removing redundant imports code into two PR. r? `@petrochenkov`
Configuration menu - View commit details
-
Copy full SHA for 85b7dcd - Browse repository at this point
Copy the full SHA 85b7dcdView commit details -
Rollup merge of rust-lang#118694 - celinval:smir-alloc-methods, r=ouz-a
Add instance evaluation and methods to read an allocation in StableMIR The instance evaluation is needed to handle intrinsics such as `type_id` and `type_name`. Since we now use Allocation to represent all evaluated constants, provide a few methods to help process the data inside an allocation. I've also started to add a structured way to get information about the compilation target machine. For now, I've only added information needed to process an allocation. r? `````@ouz-a`````
Configuration menu - View commit details
-
Copy full SHA for fc3803b - Browse repository at this point
Copy the full SHA fc3803bView commit details -
Rollup merge of rust-lang#118715 - davidtwco:issue-117997-privacy-vis…
…it-trait-ref-and-args, r=TaKO8Ki privacy: visit trait def id of projections Fixes rust-lang#117997. A refactoring in rust-lang#117076 changed the `DefIdVisitorSkeleton` to avoid calling `visit_projection_ty` for `ty::Projection` aliases, and instead just iterate over the args - this makes sense, as `visit_projection_ty` will indirectly visit all of the same args, but in doing so, will also create a `TraitRef` containing the trait's `DefId`, which also gets visited. The trait's `DefId` isn't visited when we only visit the arguments without separating them into `TraitRef` and own args first. Eventually this influences the reachability set and whether a function is encoded into the metadata.
Configuration menu - View commit details
-
Copy full SHA for f58883c - Browse repository at this point
Copy the full SHA f58883cView commit details -
Rollup merge of rust-lang#118730 - jyn514:cmp_refs, r=estebank,compil…
…er-errors recurse into refs when comparing tys for diagnostics before: ![image](https://github.com/rust-lang/rust/assets/23638587/bf6abd62-c7f3-4c09-a47e-31b6e129de19) after: ![image](https://github.com/rust-lang/rust/assets/23638587/b704d728-ddba-4204-aebe-c07dcbbcb55c) this diff from the test suite is also quite nice imo: ```diff `@@` -4,8 4,8 `@@` error[E0308]: mismatched types LL | debug_assert_eq!(iter.next(), Some(value)); | ^^^^^^^^^^^ expected `Option<<I as Iterator>::Item>`, found `Option<&<I as Iterator>::Item>` | - = note: expected enum `Option<<I as Iterator>::Item>` - found enum `Option<&<I as Iterator>::Item>` = note: expected enum `Option<_>` found enum `Option<&_>` ```
Configuration menu - View commit details
-
Copy full SHA for 68c5438 - Browse repository at this point
Copy the full SHA 68c5438View commit details -
Rollup merge of rust-lang#118736 - aliemjay:revert-ice-on-ambig, r=co…
…mpiler-errors temporarily revert "ice on ambguity in mir typeck" Reverts rust-lang#116530 as a temporary measure to fix rust-lang#117577. That issue should be ultimately fixed by checking WF of type annotations prior to normalization, which is implemented in rust-lang#104098 but this PR is intended to be backported to beta. r? `@compiler-errors` (the reviewer of the reverted PR)
Configuration menu - View commit details
-
Copy full SHA for a720b77 - Browse repository at this point
Copy the full SHA a720b77View commit details