Make impl_trait_ref into a query also returning more information about the impl
This commit is contained in:
parent
de4d615e6b
commit
916951efcc
9 changed files with 48 additions and 40 deletions
|
@ -215,7 +215,7 @@ provide! { tcx, def_id, other, cdata,
|
|||
variances_of => { table }
|
||||
fn_sig => { table }
|
||||
codegen_fn_attrs => { table }
|
||||
impl_trait_ref => { table }
|
||||
impl_trait_header => { table }
|
||||
const_param_default => { table }
|
||||
object_lifetime_default => { table }
|
||||
thir_abstract_const => { table }
|
||||
|
|
|
@ -1971,8 +1971,9 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
|
|||
self.tables.defaultness.set_some(def_id.index, tcx.defaultness(def_id));
|
||||
self.tables.impl_polarity.set_some(def_id.index, tcx.impl_polarity(def_id));
|
||||
|
||||
if of_trait && let Some(trait_ref) = tcx.impl_trait_ref(def_id) {
|
||||
record!(self.tables.impl_trait_ref[def_id] <- trait_ref);
|
||||
if of_trait && let Some(header) = tcx.impl_trait_header(def_id) {
|
||||
record!(self.tables.impl_trait_header[def_id] <- header);
|
||||
let (trait_ref, _polarity) = header;
|
||||
|
||||
let trait_ref = trait_ref.instantiate_identity();
|
||||
let simplified_self_ty = fast_reject::simplify_type(
|
||||
|
|
|
@ -423,7 +423,7 @@ define_tables! {
|
|||
variances_of: Table<DefIndex, LazyArray<ty::Variance>>,
|
||||
fn_sig: Table<DefIndex, LazyValue<ty::EarlyBinder<ty::PolyFnSig<'static>>>>,
|
||||
codegen_fn_attrs: Table<DefIndex, LazyValue<CodegenFnAttrs>>,
|
||||
impl_trait_ref: Table<DefIndex, LazyValue<ty::EarlyBinder<ty::TraitRef<'static>>>>,
|
||||
impl_trait_header: Table<DefIndex, LazyValue<(ty::EarlyBinder<ty::TraitRef<'static>>, ty::ImplPolarity)>>,
|
||||
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>>>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue