diff options
| author | lcnr <rust@lcnr.de> | 2025-03-31 21:45:34 +0200 |
|---|---|---|
| committer | lcnr <rust@lcnr.de> | 2025-04-01 23:24:28 +0200 |
| commit | cb275d4f26c62aa4dccdb6ea3960749c2898a8ca (patch) | |
| tree | fa420d4382108a7b33a53d4f438453af9c58f2ae /compiler/rustc_trait_selection/src | |
| parent | 5f74fa02afd1932ca8f9f6cb9e71894709957904 (diff) | |
| download | rust-cb275d4f26c62aa4dccdb6ea3960749c2898a8ca.tar.gz rust-cb275d4f26c62aa4dccdb6ea3960749c2898a8ca.zip | |
simplify Interner opaque types API
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/solve/delegate.rs | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/compiler/rustc_trait_selection/src/solve/delegate.rs b/compiler/rustc_trait_selection/src/solve/delegate.rs index 3d9a90eb74e..f2725411e13 100644 --- a/compiler/rustc_trait_selection/src/solve/delegate.rs +++ b/compiler/rustc_trait_selection/src/solve/delegate.rs @@ -149,16 +149,16 @@ impl<'tcx> rustc_next_trait_solver::delegate::SolverDelegate for SolverDelegate< self.0.instantiate_canonical_var(span, cv_info, universe_map) } - fn insert_hidden_type( + fn register_hidden_type_in_storage( &self, - opaque_type_key: ty::OpaqueTypeKey<'tcx>, - param_env: ty::ParamEnv<'tcx>, - hidden_ty: Ty<'tcx>, - goals: &mut Vec<Goal<'tcx, ty::Predicate<'tcx>>>, - ) -> Result<(), NoSolution> { - self.0 - .insert_hidden_type(opaque_type_key, DUMMY_SP, param_env, hidden_ty, goals) - .map_err(|_| NoSolution) + opaque_type_key: rustc_type_ir::OpaqueTypeKey<Self::Interner>, + hidden_ty: <Self::Interner as ty::Interner>::Ty, + span: <Self::Interner as ty::Interner>::Span, + ) -> Option<<Self::Interner as ty::Interner>::Ty> { + self.0.register_hidden_type_in_storage( + opaque_type_key, + ty::OpaqueHiddenType { span, ty: hidden_ty }, + ) } fn add_item_bounds_for_hidden_type( @@ -172,15 +172,6 @@ impl<'tcx> rustc_next_trait_solver::delegate::SolverDelegate for SolverDelegate< self.0.add_item_bounds_for_hidden_type(def_id, args, param_env, hidden_ty, goals); } - fn inject_new_hidden_type_unchecked( - &self, - key: ty::OpaqueTypeKey<'tcx>, - hidden_ty: Ty<'tcx>, - span: Span, - ) { - self.0.inject_new_hidden_type_unchecked(key, ty::OpaqueHiddenType { ty: hidden_ty, span }) - } - fn reset_opaque_types(&self) { let _ = self.take_opaque_types(); } |
