@@ -10,15 +10,15 @@ use crate::{
1010
1111pub trait Interner : Sized {
1212 type DefId : Copy + Debug + Hash + Ord ;
13- type AdtDef : Copy + Debug + Hash + Ord ;
13+ type AdtDef : Copy + Debug + Hash + Eq ;
1414
1515 type GenericArgs : Copy
1616 + DebugWithInfcx < Self >
1717 + Hash
18- + Ord
18+ + Eq
1919 + IntoIterator < Item = Self :: GenericArg > ;
20- type GenericArg : Copy + DebugWithInfcx < Self > + Hash + Ord ;
21- type Term : Copy + Debug + Hash + Ord ;
20+ type GenericArg : Copy + DebugWithInfcx < Self > + Hash + Eq ;
21+ type Term : Copy + Debug + Hash + Eq ;
2222
2323 type Binder < T : TypeVisitable < Self > > : BoundVars < Self > + TypeSuperVisitable < Self > ;
2424 type BoundVars : IntoIterator < Item = Self :: BoundVar > ;
@@ -30,56 +30,56 @@ pub trait Interner: Sized {
3030 type Ty : Copy
3131 + DebugWithInfcx < Self >
3232 + Hash
33- + Ord
33+ + Eq
3434 + Into < Self :: GenericArg >
3535 + IntoKind < Kind = TyKind < Self > >
3636 + TypeSuperVisitable < Self >
3737 + Flags
3838 + new:: Ty < Self > ;
39- type Tys : Copy + Debug + Hash + Ord + IntoIterator < Item = Self :: Ty > ;
40- type AliasTy : Copy + DebugWithInfcx < Self > + Hash + Ord ;
41- type ParamTy : Copy + Debug + Hash + Ord ;
42- type BoundTy : Copy + Debug + Hash + Ord ;
43- type PlaceholderTy : Copy + Debug + Hash + Ord + PlaceholderLike ;
39+ type Tys : Copy + Debug + Hash + Eq + IntoIterator < Item = Self :: Ty > ;
40+ type AliasTy : Copy + DebugWithInfcx < Self > + Hash + Eq ;
41+ type ParamTy : Copy + Debug + Hash + Eq ;
42+ type BoundTy : Copy + Debug + Hash + Eq ;
43+ type PlaceholderTy : Copy + Debug + Hash + Eq + PlaceholderLike ;
4444
4545 // Things stored inside of tys
46- type ErrorGuaranteed : Copy + Debug + Hash + Ord ;
47- type BoundExistentialPredicates : Copy + DebugWithInfcx < Self > + Hash + Ord ;
48- type PolyFnSig : Copy + DebugWithInfcx < Self > + Hash + Ord ;
49- type AllocId : Copy + Debug + Hash + Ord ;
46+ type ErrorGuaranteed : Copy + Debug + Hash + Eq ;
47+ type BoundExistentialPredicates : Copy + DebugWithInfcx < Self > + Hash + Eq ;
48+ type PolyFnSig : Copy + DebugWithInfcx < Self > + Hash + Eq ;
49+ type AllocId : Copy + Debug + Hash + Eq ;
5050
5151 // Kinds of consts
5252 type Const : Copy
5353 + DebugWithInfcx < Self >
5454 + Hash
55- + Ord
55+ + Eq
5656 + Into < Self :: GenericArg >
5757 + IntoKind < Kind = ConstKind < Self > >
5858 + ConstTy < Self >
5959 + TypeSuperVisitable < Self >
6060 + Flags
6161 + new:: Const < Self > ;
62- type AliasConst : Copy + DebugWithInfcx < Self > + Hash + Ord ;
63- type PlaceholderConst : Copy + Debug + Hash + Ord + PlaceholderLike ;
64- type ParamConst : Copy + Debug + Hash + Ord ;
65- type BoundConst : Copy + Debug + Hash + Ord ;
66- type ValueConst : Copy + Debug + Hash + Ord ;
67- type ExprConst : Copy + DebugWithInfcx < Self > + Hash + Ord ;
62+ type AliasConst : Copy + DebugWithInfcx < Self > + Hash + Eq ;
63+ type PlaceholderConst : Copy + Debug + Hash + Eq + PlaceholderLike ;
64+ type ParamConst : Copy + Debug + Hash + Eq ;
65+ type BoundConst : Copy + Debug + Hash + Eq ;
66+ type ValueConst : Copy + Debug + Hash + Eq ;
67+ type ExprConst : Copy + DebugWithInfcx < Self > + Hash + Eq ;
6868
6969 // Kinds of regions
7070 type Region : Copy
7171 + DebugWithInfcx < Self >
7272 + Hash
73- + Ord
73+ + Eq
7474 + Into < Self :: GenericArg >
7575 + IntoKind < Kind = RegionKind < Self > >
7676 + Flags
7777 + new:: Region < Self > ;
78- type EarlyParamRegion : Copy + Debug + Hash + Ord ;
79- type LateParamRegion : Copy + Debug + Hash + Ord ;
80- type BoundRegion : Copy + Debug + Hash + Ord ;
81- type InferRegion : Copy + DebugWithInfcx < Self > + Hash + Ord ;
82- type PlaceholderRegion : Copy + Debug + Hash + Ord + PlaceholderLike ;
78+ type EarlyParamRegion : Copy + Debug + Hash + Eq ;
79+ type LateParamRegion : Copy + Debug + Hash + Eq ;
80+ type BoundRegion : Copy + Debug + Hash + Eq ;
81+ type InferRegion : Copy + DebugWithInfcx < Self > + Hash + Eq ;
82+ type PlaceholderRegion : Copy + Debug + Hash + Eq + PlaceholderLike ;
8383
8484 // Predicates
8585 type Predicate : Copy + Debug + Hash + Eq + TypeSuperVisitable < Self > + Flags ;
0 commit comments