Skip to content

Commit fdade6c

Browse files
committed
Auto merge of rust-lang#129752 - compiler-errors:predicates-of-defaulted, r=<try>
Make supertrait and implied predicates queries defaulted r? `@ghost` only last commit is meaningful
2 parents 842d6fc + 42d2d78 commit fdade6c

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

Diff for: compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ provide! { tcx, def_id, other, cdata,
247247
explicit_predicates_of => { table }
248248
generics_of => { table }
249249
inferred_outlives_of => { table_defaulted_array }
250-
explicit_super_predicates_of => { table }
251-
explicit_implied_predicates_of => { table }
250+
explicit_super_predicates_of => { table_defaulted_array }
251+
explicit_implied_predicates_of => { table_defaulted_array }
252252
type_of => { table }
253253
type_alias_is_lazy => { table_direct }
254254
variances_of => { table }

Diff for: compiler/rustc_metadata/src/rmeta/encoder.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1443,9 +1443,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
14431443
}
14441444
if let DefKind::Trait = def_kind {
14451445
record!(self.tables.trait_def[def_id] <- self.tcx.trait_def(def_id));
1446-
record_array!(self.tables.explicit_super_predicates_of[def_id] <-
1446+
record_defaulted_array!(self.tables.explicit_super_predicates_of[def_id] <-
14471447
self.tcx.explicit_super_predicates_of(def_id).skip_binder());
1448-
record_array!(self.tables.explicit_implied_predicates_of[def_id] <-
1448+
record_defaulted_array!(self.tables.explicit_implied_predicates_of[def_id] <-
14491449
self.tcx.explicit_implied_predicates_of(def_id).skip_binder());
14501450

14511451
let module_children = self.tcx.module_children_local(local_id);
@@ -1454,9 +1454,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
14541454
}
14551455
if let DefKind::TraitAlias = def_kind {
14561456
record!(self.tables.trait_def[def_id] <- self.tcx.trait_def(def_id));
1457-
record_array!(self.tables.explicit_super_predicates_of[def_id] <-
1457+
record_defaulted_array!(self.tables.explicit_super_predicates_of[def_id] <-
14581458
self.tcx.explicit_super_predicates_of(def_id).skip_binder());
1459-
record_array!(self.tables.explicit_implied_predicates_of[def_id] <-
1459+
record_defaulted_array!(self.tables.explicit_implied_predicates_of[def_id] <-
14601460
self.tcx.explicit_implied_predicates_of(def_id).skip_binder());
14611461
}
14621462
if let DefKind::Trait | DefKind::Impl { .. } = def_kind {

Diff for: compiler/rustc_metadata/src/rmeta/mod.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,8 @@ define_tables! {
390390
explicit_item_bounds: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
391391
explicit_item_super_predicates: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
392392
inferred_outlives_of: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
393+
explicit_super_predicates_of: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
394+
explicit_implied_predicates_of: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
393395
inherent_impls: Table<DefIndex, LazyArray<DefIndex>>,
394396
associated_types_for_impl_traits_in_associated_fn: Table<DefIndex, LazyArray<DefId>>,
395397
associated_type_for_effects: Table<DefIndex, Option<LazyValue<DefId>>>,
@@ -419,10 +421,6 @@ define_tables! {
419421
lookup_deprecation_entry: Table<DefIndex, LazyValue<attr::Deprecation>>,
420422
explicit_predicates_of: Table<DefIndex, LazyValue<ty::GenericPredicates<'static>>>,
421423
generics_of: Table<DefIndex, LazyValue<ty::Generics>>,
422-
explicit_super_predicates_of: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
423-
// As an optimization, we only store this for trait aliases,
424-
// since it's identical to explicit_super_predicates_of for traits.
425-
explicit_implied_predicates_of: Table<DefIndex, LazyArray<(ty::Clause<'static>, Span)>>,
426424
type_of: Table<DefIndex, LazyValue<ty::EarlyBinder<'static, Ty<'static>>>>,
427425
variances_of: Table<DefIndex, LazyArray<ty::Variance>>,
428426
fn_sig: Table<DefIndex, LazyValue<ty::EarlyBinder<'static, ty::PolyFnSig<'static>>>>,

0 commit comments

Comments
 (0)