Skip to content

Commit e9710f1

Browse files
committed
Context::generics _of/predicates_of should receive stable_mir::DefId
1 parent 7a653fe commit e9710f1

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

compiler/rustc_smir/src/rustc_smir/mod.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use crate::rustc_internal::{self, opaque};
1111
use crate::stable_mir::mir::{CopyNonOverlapping, UserTypeProjection, VariantIdx};
1212
use crate::stable_mir::ty::{
13-
allocation_filter, new_allocation, Const, FloatTy, GenericDef, GenericParamDef, IntTy,
13+
allocation_filter, new_allocation, Const, FloatTy, GenericParamDef, IntTy,
1414
Movability, RigidTy, TyKind, UintTy,
1515
};
1616
use crate::stable_mir::{self, Context};
@@ -102,18 +102,18 @@ impl<'tcx> Context for Tables<'tcx> {
102102
ty.stable(self)
103103
}
104104

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)
109109
}
110110

111111
fn predicates_of(
112112
&mut self,
113-
trait_def: &stable_mir::ty::TraitDef,
113+
def_id: stable_mir::DefId,
114114
) -> 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);
117117
stable_mir::GenericPredicates {
118118
parent: parent.map(|did| self.trait_def(did)),
119119
predicates: predicates

compiler/rustc_smir/src/stable_mir/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use std::cell::Cell;
1616
use crate::rustc_smir::Tables;
1717

1818
use self::ty::{
19-
GenericDef, Generics, ImplDef, ImplTrait, PredicateKind, Span, TraitDecl, TraitDef, Ty, TyKind,
19+
Generics, ImplDef, ImplTrait, PredicateKind, Span, TraitDecl, TraitDef, Ty, TyKind,
2020
};
2121

2222
pub mod mir;
@@ -118,8 +118,8 @@ pub trait Context {
118118
fn trait_decl(&mut self, trait_def: &TraitDef) -> TraitDecl;
119119
fn all_trait_impls(&mut self) -> ImplTraitDecls;
120120
fn trait_impl(&mut self, trait_impl: &ImplDef) -> ImplTrait;
121-
fn generics_of(&mut self, generic_def: &GenericDef) -> Generics;
122-
fn predicates_of(&mut self, trait_def: &TraitDef) -> GenericPredicates;
121+
fn generics_of(&mut self, def_id: DefId) -> Generics;
122+
fn predicates_of(&mut self, def_id: DefId) -> GenericPredicates;
123123
/// Get information about the local crate.
124124
fn local_crate(&self) -> Crate;
125125
/// Retrieve a list of all external crates.

compiler/rustc_smir/src/stable_mir/ty.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl ImplDef {
137137

138138
impl GenericDef {
139139
pub fn generics_of(&self) -> Generics {
140-
with(|tcx| tcx.generics_of(self))
140+
with(|cx| cx.generics_of(self.0))
141141
}
142142
}
143143

0 commit comments

Comments
 (0)