Skip to content

Commit 71eacef

Browse files
committed
rustc_metadata: remove predicates_of and rely on predicates_defined_on alone.
1 parent 9e528ff commit 71eacef

File tree

4 files changed

+9
-38
lines changed

4 files changed

+9
-38
lines changed

src/librustc_metadata/cstore_impl.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ provide! { <'tcx> tcx, def_id, other, cdata,
9595
generics_of => {
9696
tcx.arena.alloc(cdata.get_generics(def_id.index, tcx.sess))
9797
}
98-
predicates_of => { cdata.get_predicates(def_id.index, tcx) }
9998
predicates_defined_on => { cdata.get_predicates_defined_on(def_id.index, tcx) }
10099
super_predicates_of => { cdata.get_super_predicates(def_id.index, tcx) }
101100
trait_def => {

src/librustc_metadata/decoder.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -658,14 +658,6 @@ impl<'a, 'tcx> CrateMetadata {
658658
tcx.alloc_adt_def(did, adt_kind, variants, repr)
659659
}
660660

661-
crate fn get_predicates(
662-
&self,
663-
item_id: DefIndex,
664-
tcx: TyCtxt<'tcx>,
665-
) -> ty::GenericPredicates<'tcx> {
666-
self.root.per_def.predicates.get(self, item_id).unwrap().decode((self, tcx))
667-
}
668-
669661
crate fn get_predicates_defined_on(
670662
&self,
671663
item_id: DefIndex,

src/librustc_metadata/encoder.rs

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ struct PerDefTables<'tcx> {
7676
inherent_impls: PerDefTable<Lazy<[DefIndex]>>,
7777
variances: PerDefTable<Lazy<[ty::Variance]>>,
7878
generics: PerDefTable<Lazy<ty::Generics>>,
79-
predicates: PerDefTable<Lazy<ty::GenericPredicates<'tcx>>>,
8079
predicates_defined_on: PerDefTable<Lazy<ty::GenericPredicates<'tcx>>>,
8180
super_predicates: PerDefTable<Lazy<ty::GenericPredicates<'tcx>>>,
8281

@@ -524,7 +523,6 @@ impl<'tcx> EncodeContext<'tcx> {
524523
inherent_impls: self.per_def.inherent_impls.encode(&mut self.opaque),
525524
variances: self.per_def.variances.encode(&mut self.opaque),
526525
generics: self.per_def.generics.encode(&mut self.opaque),
527-
predicates: self.per_def.predicates.encode(&mut self.opaque),
528526
predicates_defined_on: self.per_def.predicates_defined_on.encode(&mut self.opaque),
529527
super_predicates: self.per_def.super_predicates.encode(&mut self.opaque),
530528

@@ -676,7 +674,7 @@ impl EncodeContext<'tcx> {
676674
self.encode_variances_of(def_id);
677675
}
678676
self.encode_generics(def_id);
679-
self.encode_predicates(def_id);
677+
self.encode_predicates_defined_on(def_id);
680678
self.encode_optimized_mir(def_id);
681679
self.encode_promoted_mir(def_id);
682680
}
@@ -719,7 +717,7 @@ impl EncodeContext<'tcx> {
719717
self.encode_variances_of(def_id);
720718
}
721719
self.encode_generics(def_id);
722-
self.encode_predicates(def_id);
720+
self.encode_predicates_defined_on(def_id);
723721
self.encode_optimized_mir(def_id);
724722
self.encode_promoted_mir(def_id);
725723
}
@@ -777,7 +775,7 @@ impl EncodeContext<'tcx> {
777775
self.encode_deprecation(def_id);
778776
self.encode_item_type(def_id);
779777
self.encode_generics(def_id);
780-
self.encode_predicates(def_id);
778+
self.encode_predicates_defined_on(def_id);
781779
}
782780

783781
fn encode_struct_ctor(&mut self, adt_def_id: DefId, def_id: DefId) {
@@ -820,7 +818,7 @@ impl EncodeContext<'tcx> {
820818
self.encode_variances_of(def_id);
821819
}
822820
self.encode_generics(def_id);
823-
self.encode_predicates(def_id);
821+
self.encode_predicates_defined_on(def_id);
824822
self.encode_optimized_mir(def_id);
825823
self.encode_promoted_mir(def_id);
826824
}
@@ -830,11 +828,6 @@ impl EncodeContext<'tcx> {
830828
record!(self.per_def.generics[def_id] <- self.tcx.generics_of(def_id));
831829
}
832830

833-
fn encode_predicates(&mut self, def_id: DefId) {
834-
debug!("EncodeContext::encode_predicates({:?})", def_id);
835-
record!(self.per_def.predicates[def_id] <- self.tcx.predicates_of(def_id));
836-
}
837-
838831
fn encode_predicates_defined_on(&mut self, def_id: DefId) {
839832
debug!("EncodeContext::encode_predicates_defined_on({:?})", def_id);
840833
record!(self.per_def.predicates_defined_on[def_id] <-
@@ -920,7 +913,7 @@ impl EncodeContext<'tcx> {
920913
self.encode_variances_of(def_id);
921914
}
922915
self.encode_generics(def_id);
923-
self.encode_predicates(def_id);
916+
self.encode_predicates_defined_on(def_id);
924917
self.encode_optimized_mir(def_id);
925918
self.encode_promoted_mir(def_id);
926919
}
@@ -987,7 +980,7 @@ impl EncodeContext<'tcx> {
987980
self.encode_variances_of(def_id);
988981
}
989982
self.encode_generics(def_id);
990-
self.encode_predicates(def_id);
983+
self.encode_predicates_defined_on(def_id);
991984
let mir = match ast_item.kind {
992985
hir::ImplItemKind::Const(..) => true,
993986
hir::ImplItemKind::Method(ref sig, _) => {
@@ -1261,21 +1254,9 @@ impl EncodeContext<'tcx> {
12611254
hir::ItemKind::Trait(..) |
12621255
hir::ItemKind::TraitAlias(..) => {
12631256
self.encode_generics(def_id);
1264-
self.encode_predicates(def_id);
1265-
}
1266-
_ => {}
1267-
}
1268-
// The only time that `predicates_defined_on` is used (on
1269-
// an external item) is for traits, during chalk lowering,
1270-
// so only encode it in that case as an efficiency
1271-
// hack. (No reason not to expand it in the future if
1272-
// necessary.)
1273-
match item.kind {
1274-
hir::ItemKind::Trait(..) |
1275-
hir::ItemKind::TraitAlias(..) => {
12761257
self.encode_predicates_defined_on(def_id);
12771258
}
1278-
_ => {} // not *wrong* for other kinds of items, but not needed
1259+
_ => {}
12791260
}
12801261
match item.kind {
12811262
hir::ItemKind::Trait(..) |
@@ -1378,7 +1359,7 @@ impl EncodeContext<'tcx> {
13781359
record!(self.per_def.span[def_id] <- self.tcx.def_span(def_id));
13791360
self.encode_item_type(def_id);
13801361
self.encode_generics(def_id);
1381-
self.encode_predicates(def_id);
1362+
self.encode_predicates_defined_on(def_id);
13821363
self.encode_optimized_mir(def_id);
13831364
self.encode_promoted_mir(def_id);
13841365
}
@@ -1589,7 +1570,7 @@ impl EncodeContext<'tcx> {
15891570
self.encode_variances_of(def_id);
15901571
}
15911572
self.encode_generics(def_id);
1592-
self.encode_predicates(def_id);
1573+
self.encode_predicates_defined_on(def_id);
15931574
}
15941575
}
15951576

src/librustc_metadata/schema.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,6 @@ crate struct LazyPerDefTables<'tcx> {
244244
pub inherent_impls: Lazy!(PerDefTable<Lazy<[DefIndex]>>),
245245
pub variances: Lazy!(PerDefTable<Lazy<[ty::Variance]>>),
246246
pub generics: Lazy!(PerDefTable<Lazy<ty::Generics>>),
247-
pub predicates: Lazy!(PerDefTable<Lazy!(ty::GenericPredicates<'tcx>)>),
248247
pub predicates_defined_on: Lazy!(PerDefTable<Lazy!(ty::GenericPredicates<'tcx>)>),
249248
pub super_predicates: Lazy!(PerDefTable<Lazy!(ty::GenericPredicates<'tcx>)>),
250249

0 commit comments

Comments
 (0)