diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-02-29 12:21:20 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-03-11 17:19:37 +0000 |
| commit | 40d56095486558e8b3a9ff11a0f0298e29c3fd65 (patch) | |
| tree | 4191645cf41e10605586ecd2fed737c64af13b27 /compiler/rustc_hir_analysis/src | |
| parent | 65cd843ae06ad00123c131a431ed5304e4cd577a (diff) | |
| download | rust-40d56095486558e8b3a9ff11a0f0298e29c3fd65.tar.gz rust-40d56095486558e8b3a9ff11a0f0298e29c3fd65.zip | |
Make `DefiningAnchor::Bind` only store the opaque types that may be constrained, instead of the current infcx root item.
This makes `Bind` almost always be empty, so we can start forwarding it to queries, allowing us to remove `Bubble` entirely
Diffstat (limited to 'compiler/rustc_hir_analysis/src')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/check/check.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_hir_analysis/src/check/check.rs b/compiler/rustc_hir_analysis/src/check/check.rs index 1b24c2b61fd..cb739ac48a8 100644 --- a/compiler/rustc_hir_analysis/src/check/check.rs +++ b/compiler/rustc_hir_analysis/src/check/check.rs @@ -347,7 +347,7 @@ fn check_opaque_meets_bounds<'tcx>( let infcx = tcx .infer_ctxt() - .with_opaque_type_inference(DefiningAnchor::Bind(defining_use_anchor)) + .with_opaque_type_inference(DefiningAnchor::bind(tcx, defining_use_anchor)) .build(); let ocx = ObligationCtxt::new(&infcx); @@ -1558,7 +1558,7 @@ pub(super) fn check_coroutine_obligations( .ignoring_regions() // Bind opaque types to type checking root, as they should have been checked by borrowck, // but may show up in some cases, like when (root) obligations are stalled in the new solver. - .with_opaque_type_inference(DefiningAnchor::Bind(typeck.hir_owner.def_id)) + .with_opaque_type_inference(DefiningAnchor::bind(tcx, typeck.hir_owner.def_id)) .build(); let mut fulfillment_cx = <dyn TraitEngine<'_>>::new(&infcx); |
