diff options
| author | Kyle Matsuda <kyle.yoshio.matsuda@gmail.com> | 2023-01-10 14:57:22 -0700 |
|---|---|---|
| committer | Kyle Matsuda <kyle.yoshio.matsuda@gmail.com> | 2023-01-14 00:29:56 -0700 |
| commit | f29a334c90e29ffbe236f9abba9aa08bfda597c6 (patch) | |
| tree | 58cf93d10ec51c3fe9c5bea7242ff8a498186ba3 /compiler/rustc_metadata/src | |
| parent | be130b57d477069799158506d7e80145fdf71c73 (diff) | |
| download | rust-f29a334c90e29ffbe236f9abba9aa08bfda597c6.tar.gz rust-f29a334c90e29ffbe236f9abba9aa08bfda597c6.zip | |
change impl_trait_ref query to return EarlyBinder; remove bound_impl_trait_ref query; add EarlyBinder to impl_trait_ref in metadata
Diffstat (limited to 'compiler/rustc_metadata/src')
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/encoder.rs | 12 | ||||
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/mod.rs | 2 |
2 files changed, 5 insertions, 9 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index 3504a3bde45..ba856a11890 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -1555,8 +1555,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { self.tables.impl_defaultness.set(def_id.index, *defaultness); self.tables.constness.set(def_id.index, *constness); - let trait_ref = - self.tcx.bound_impl_trait_ref(def_id).map(ty::EarlyBinder::skip_binder); + let trait_ref = self.tcx.impl_trait_ref(def_id).map(ty::EarlyBinder::skip_binder); if let Some(trait_ref) = trait_ref { let trait_def = self.tcx.trait_def(trait_ref.def_id); if let Ok(mut an) = trait_def.ancestors(self.tcx, def_id) { @@ -1633,9 +1632,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { } } if let hir::ItemKind::Impl { .. } = item.kind { - if let Some(trait_ref) = - self.tcx.bound_impl_trait_ref(def_id).map(ty::EarlyBinder::subst_identity) - { + if let Some(trait_ref) = self.tcx.impl_trait_ref(def_id) { record!(self.tables.impl_trait_ref[def_id] <- trait_ref); } } @@ -1901,9 +1898,8 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> { for id in tcx.hir().items() { if matches!(tcx.def_kind(id.owner_id), DefKind::Impl) { - if let Some(trait_ref) = tcx - .bound_impl_trait_ref(id.owner_id.to_def_id()) - .map(ty::EarlyBinder::subst_identity) + if let Some(trait_ref) = + tcx.impl_trait_ref(id.owner_id).map(ty::EarlyBinder::subst_identity) { let simplified_self_ty = fast_reject::simplify_type( self.tcx, diff --git a/compiler/rustc_metadata/src/rmeta/mod.rs b/compiler/rustc_metadata/src/rmeta/mod.rs index 5beee06d521..5b7b096b4ed 100644 --- a/compiler/rustc_metadata/src/rmeta/mod.rs +++ b/compiler/rustc_metadata/src/rmeta/mod.rs @@ -359,7 +359,7 @@ define_tables! { variances_of: Table<DefIndex, LazyArray<ty::Variance>>, fn_sig: Table<DefIndex, LazyValue<ty::PolyFnSig<'static>>>, codegen_fn_attrs: Table<DefIndex, LazyValue<CodegenFnAttrs>>, - impl_trait_ref: Table<DefIndex, LazyValue<ty::TraitRef<'static>>>, + impl_trait_ref: Table<DefIndex, LazyValue<ty::EarlyBinder<ty::TraitRef<'static>>>>, const_param_default: Table<DefIndex, LazyValue<ty::EarlyBinder<rustc_middle::ty::Const<'static>>>>, object_lifetime_default: Table<DefIndex, LazyValue<ObjectLifetimeDefault>>, optimized_mir: Table<DefIndex, LazyValue<mir::Body<'static>>>, |
