diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index cdbbd8579b4..f042b5ad8e4 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -905,6 +905,7 @@ impl EncodeContext<'a, 'tcx> { } let g = tcx.generics_of(def_id); record!(self.tables.generics[def_id] <- g); + record!(self.tables.explicit_predicates[def_id] <- self.tcx.explicit_predicates_of(def_id)); } let inherent_impls = tcx.crate_inherent_impls(LOCAL_CRATE); for (def_id, implementations) in inherent_impls.inherent_impls.iter() { @@ -950,7 +951,6 @@ impl EncodeContext<'a, 'tcx> { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(ctor_def_id)); } } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } @@ -973,7 +973,6 @@ impl EncodeContext<'a, 'tcx> { if variant.ctor_kind == CtorKind::Fn { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(def_id)); } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } @@ -1033,7 +1032,6 @@ impl EncodeContext<'a, 'tcx> { record!(self.tables.kind[def_id] <- EntryKind::Field); self.encode_ident_span(def_id, field.ident); self.encode_item_type(def_id); - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } @@ -1054,16 +1052,9 @@ impl EncodeContext<'a, 'tcx> { if variant.ctor_kind == CtorKind::Fn { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(def_id)); } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } - fn encode_explicit_predicates(&mut self, def_id: DefId) { - debug!("EncodeContext::encode_explicit_predicates({:?})", def_id); - record!(self.tables.explicit_predicates[def_id] <- - self.tcx.explicit_predicates_of(def_id)); - } - fn encode_inferred_outlives(&mut self, def_id: DefId) { debug!("EncodeContext::encode_inferred_outlives({:?})", def_id); let inferred_outlives = self.tcx.inferred_outlives_of(def_id); @@ -1152,7 +1143,6 @@ impl EncodeContext<'a, 'tcx> { if trait_item.kind == ty::AssocKind::Fn { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(def_id)); } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } @@ -1211,7 +1201,6 @@ impl EncodeContext<'a, 'tcx> { if impl_item.kind == ty::AssocKind::Fn { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(def_id)); } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } @@ -1489,7 +1478,6 @@ impl EncodeContext<'a, 'tcx> { | hir::ItemKind::OpaqueTy(..) | hir::ItemKind::Trait(..) | hir::ItemKind::TraitAlias(..) => { - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } _ => {} @@ -1551,7 +1539,6 @@ impl EncodeContext<'a, 'tcx> { record!(self.tables.kind[def_id.to_def_id()] <- EntryKind::AnonConst(qualifs, const_data)); self.encode_item_type(def_id.to_def_id()); - self.encode_explicit_predicates(def_id.to_def_id()); self.encode_inferred_outlives(def_id.to_def_id()); } @@ -1832,7 +1819,6 @@ impl EncodeContext<'a, 'tcx> { if let hir::ForeignItemKind::Fn(..) = nitem.kind { record!(self.tables.fn_sig[def_id] <- tcx.fn_sig(def_id)); } - self.encode_explicit_predicates(def_id); self.encode_inferred_outlives(def_id); } }