@@ -7,26 +7,22 @@ use crate::inherent::*;
7
7
use crate :: ir_print:: IrPrint ;
8
8
use crate :: solve:: inspect:: CanonicalGoalEvaluationStep ;
9
9
use crate :: visit:: { Flags , TypeSuperVisitable , TypeVisitable } ;
10
- use crate :: {
11
- AliasTerm , AliasTermKind , AliasTy , AliasTyKind , CanonicalVarInfo , CoercePredicate ,
12
- DebugWithInfcx , ExistentialProjection , ExistentialTraitRef , FnSig , GenericArgKind ,
13
- NormalizesTo , ProjectionPredicate , SubtypePredicate , TermKind , TraitPredicate , TraitRef ,
14
- } ;
10
+ use crate :: { self as ty, DebugWithInfcx } ;
15
11
16
12
pub trait Interner :
17
13
Sized
18
14
+ Copy
19
- + IrPrint < AliasTy < Self > >
20
- + IrPrint < AliasTerm < Self > >
21
- + IrPrint < TraitRef < Self > >
22
- + IrPrint < TraitPredicate < Self > >
23
- + IrPrint < ExistentialTraitRef < Self > >
24
- + IrPrint < ExistentialProjection < Self > >
25
- + IrPrint < ProjectionPredicate < Self > >
26
- + IrPrint < NormalizesTo < Self > >
27
- + IrPrint < SubtypePredicate < Self > >
28
- + IrPrint < CoercePredicate < Self > >
29
- + IrPrint < FnSig < Self > >
15
+ + IrPrint < ty :: AliasTy < Self > >
16
+ + IrPrint < ty :: AliasTerm < Self > >
17
+ + IrPrint < ty :: TraitRef < Self > >
18
+ + IrPrint < ty :: TraitPredicate < Self > >
19
+ + IrPrint < ty :: ExistentialTraitRef < Self > >
20
+ + IrPrint < ty :: ExistentialProjection < Self > >
21
+ + IrPrint < ty :: ProjectionPredicate < Self > >
22
+ + IrPrint < ty :: NormalizesTo < Self > >
23
+ + IrPrint < ty :: SubtypePredicate < Self > >
24
+ + IrPrint < ty :: CoercePredicate < Self > >
25
+ + IrPrint < ty :: FnSig < Self > >
30
26
{
31
27
type DefId : Copy + Debug + Hash + Eq + TypeVisitable < Self > ;
32
28
type AdtDef : Copy + Debug + Hash + Eq ;
@@ -39,9 +35,9 @@ pub trait Interner:
39
35
+ DebugWithInfcx < Self >
40
36
+ Hash
41
37
+ Eq
42
- + IntoKind < Kind = GenericArgKind < Self > >
38
+ + IntoKind < Kind = ty :: GenericArgKind < Self > >
43
39
+ TypeVisitable < Self > ;
44
- type Term : Copy + Debug + Hash + Eq + IntoKind < Kind = TermKind < Self > > + TypeVisitable < Self > ;
40
+ type Term : Copy + Debug + Hash + Eq + IntoKind < Kind = ty :: TermKind < Self > > + TypeVisitable < Self > ;
45
41
46
42
type BoundVarKinds : Copy
47
43
+ Debug
@@ -51,7 +47,7 @@ pub trait Interner:
51
47
+ Default ;
52
48
type BoundVarKind : Copy + Debug + Hash + Eq ;
53
49
54
- type CanonicalVars : Copy + Debug + Hash + Eq + IntoIterator < Item = CanonicalVarInfo < Self > > ;
50
+ type CanonicalVars : Copy + Debug + Hash + Eq + IntoIterator < Item = ty :: CanonicalVarInfo < Self > > ;
55
51
type PredefinedOpaques : Copy + Debug + Hash + Eq ;
56
52
type DefiningOpaqueTypes : Copy + Debug + Hash + Default + Eq + TypeVisitable < Self > ;
57
53
type ExternalConstraints : Copy + Debug + Hash + Eq ;
@@ -99,23 +95,23 @@ pub trait Interner:
99
95
type Clause : Clause < Self > ;
100
96
type Clauses : Copy + Debug + Hash + Eq + TypeSuperVisitable < Self > + Flags ;
101
97
102
- fn mk_canonical_var_infos ( self , infos : & [ CanonicalVarInfo < Self > ] ) -> Self :: CanonicalVars ;
98
+ fn mk_canonical_var_infos ( self , infos : & [ ty :: CanonicalVarInfo < Self > ] ) -> Self :: CanonicalVars ;
103
99
104
100
type GenericsOf : GenericsOf < Self > ;
105
101
fn generics_of ( self , def_id : Self :: DefId ) -> Self :: GenericsOf ;
106
102
107
103
// FIXME: Remove after uplifting `EarlyBinder`
108
- fn type_of_instantiated ( self , def_id : Self :: DefId , args : Self :: GenericArgs ) -> Self :: Ty ;
104
+ fn type_of ( self , def_id : Self :: DefId ) -> ty :: EarlyBinder < Self , Self :: Ty > ;
109
105
110
- fn alias_ty_kind ( self , alias : AliasTy < Self > ) -> AliasTyKind ;
106
+ fn alias_ty_kind ( self , alias : ty :: AliasTy < Self > ) -> ty :: AliasTyKind ;
111
107
112
- fn alias_term_kind ( self , alias : AliasTerm < Self > ) -> AliasTermKind ;
108
+ fn alias_term_kind ( self , alias : ty :: AliasTerm < Self > ) -> ty :: AliasTermKind ;
113
109
114
110
fn trait_ref_and_own_args_for_alias (
115
111
self ,
116
112
def_id : Self :: DefId ,
117
113
args : Self :: GenericArgs ,
118
- ) -> ( TraitRef < Self > , Self :: OwnItemArgs ) ;
114
+ ) -> ( ty :: TraitRef < Self > , Self :: OwnItemArgs ) ;
119
115
120
116
fn mk_args ( self , args : & [ Self :: GenericArg ] ) -> Self :: GenericArgs ;
121
117
0 commit comments