-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Removing rustc_type_ir in the rustc_infer codebase #140559
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
changes to the core type system These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
Could you see if there's a strategy to ban naming the traits You may be able to do this by privately importing those types by name, or by shadowing them with a dummy ty alias like |
Sure, So it seems that I can do this by using shadowing with private imports. However, it seems that rustc_trait_selection uses ty::Interner (from rustc_middle). Do I change everything in a single commit or do you prefer separated commits ? (a commit for rustc_infer, another one for ban naming + changes in rustc_trait_selection). |
Just do it in one commit is fine |
ce280de
to
333ca90
Compare
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
Fixed, I have also reworded the commit |
This comment has been minimized.
This comment has been minimized.
This commit does the following: - Replaces use of rustc_type_ir by rustc_middle in rustc_infer. - The DelayedMap type is exposed by rustc_middle so everything can be accessed through rustc_middle in a coherent manner. - API-layer traits, like InferCtxtLike, Interner or inherent::* must be accessed via rustc_type_ir, not rustc_middle::ty. For this reason these are not reexported by rustc_middle::ty. - Replaces use of ty::Interner by rustc_type_ir::Interner in rustc_trait_selection
333ca90
to
6970813
Compare
@bors r+ rollup |
…compiler-errors Removing rustc_type_ir in the rustc_infer codebase cc rust-lang#138449 This is a second refactoring of rustc_type_ir to use rustc_middle instead, this time that's for rustc_infer
…llaumeGomez Rollup of 11 pull requests Successful merges: - rust-lang#139764 (Consistent trait bounds for ExtractIf Debug impls) - rust-lang#140035 (Implement RFC 3503: frontmatters) - rust-lang#140080 (mir-opt: Use one MirPatch in MatchBranchSimplification) - rust-lang#140115 (mir-opt: execute MatchBranchSimplification after GVN) - rust-lang#140357 (bypass linker configuration and cross target check on `x check`) - rust-lang#140374 (Resolve instance for SymFn in global/naked asm) - rust-lang#140393 (std: get rid of `sys_common::process`) - rust-lang#140532 (Fix RustAnalyzer discovery of rustc's `stable_mir` crate) - rust-lang#140559 (Removing rustc_type_ir in the rustc_infer codebase) - rust-lang#140636 (implement `PanicTracker` to track `t` panics) - rust-lang#140661 (Make `-Zfixed-x18` into a target modifier) r? `@ghost` `@rustbot` modify labels: rollup
…llaumeGomez Rollup of 11 pull requests Successful merges: - rust-lang#140080 (mir-opt: Use one MirPatch in MatchBranchSimplification) - rust-lang#140115 (mir-opt: execute MatchBranchSimplification after GVN) - rust-lang#140357 (bypass linker configuration and cross target check on `x check`) - rust-lang#140374 (Resolve instance for SymFn in global/naked asm) - rust-lang#140559 (Removing rustc_type_ir in the rustc_infer codebase) - rust-lang#140605 (`fn check_opaque_type_parameter_valid` defer error) - rust-lang#140636 (implement `PanicTracker` to track `t` panics) - rust-lang#140661 (Make `-Zfixed-x18` into a target modifier) - rust-lang#140670 (calculate step duration in a panic-safe way) - rust-lang#140672 (Deeply normalize in the new solver in WF) - rust-lang#140676 (Update books) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#140559 - rperier:type-ir-to-type-middle, r=compiler-errors Removing rustc_type_ir in the rustc_infer codebase cc rust-lang#138449 This is a second refactoring of rustc_type_ir to use rustc_middle instead, this time that's for rustc_infer
cc #138449
This is a second refactoring of rustc_type_ir to use rustc_middle instead, this time that's for rustc_infer