|
10 | 10 | use crate::rustc_internal::{self, opaque};
|
11 | 11 | use crate::stable_mir::mir::{CopyNonOverlapping, UserTypeProjection, VariantIdx};
|
12 | 12 | use crate::stable_mir::ty::{
|
13 |
| - allocation_filter, new_allocation, Const, FloatTy, GenericDef, GenericParamDef, IntTy, |
| 13 | + allocation_filter, new_allocation, Const, FloatTy, GenericParamDef, IntTy, |
14 | 14 | Movability, RigidTy, TyKind, UintTy,
|
15 | 15 | };
|
16 | 16 | use crate::stable_mir::{self, Context};
|
@@ -102,18 +102,18 @@ impl<'tcx> Context for Tables<'tcx> {
|
102 | 102 | ty.stable(self)
|
103 | 103 | }
|
104 | 104 |
|
105 |
| - fn generics_of(&mut self, generic_def: &GenericDef) -> stable_mir::ty::Generics { |
106 |
| - let def_id = self.generic_def_id(generic_def); |
107 |
| - let generic_def = self.tcx.generics_of(def_id); |
108 |
| - generic_def.stable(self) |
| 105 | + fn generics_of(&mut self, def_id: stable_mir::DefId) -> stable_mir::ty::Generics { |
| 106 | + let def_id = self.def_ids[def_id]; |
| 107 | + let generics = self.tcx.generics_of(def_id); |
| 108 | + generics.stable(self) |
109 | 109 | }
|
110 | 110 |
|
111 | 111 | fn predicates_of(
|
112 | 112 | &mut self,
|
113 |
| - trait_def: &stable_mir::ty::TraitDef, |
| 113 | + def_id: stable_mir::DefId, |
114 | 114 | ) -> stable_mir::GenericPredicates {
|
115 |
| - let trait_def_id = self.trait_def_id(trait_def); |
116 |
| - let ty::GenericPredicates { parent, predicates } = self.tcx.predicates_of(trait_def_id); |
| 115 | + let def_id = self.def_ids[def_id]; |
| 116 | + let ty::GenericPredicates { parent, predicates } = self.tcx.predicates_of(def_id); |
117 | 117 | stable_mir::GenericPredicates {
|
118 | 118 | parent: parent.map(|did| self.trait_def(did)),
|
119 | 119 | predicates: predicates
|
|
0 commit comments