@@ -1182,22 +1182,13 @@ impl<'tcx> OpaqueHiddenType<'tcx> {
1182
1182
/// identified by both a universe, as well as a name residing within that universe. Distinct bound
1183
1183
/// regions/types/consts within the same universe simply have an unknown relationship to one
1184
1184
/// another.
1185
- #[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash , TyEncodable , TyDecodable , PartialOrd , Ord ) ]
1185
+ #[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash , PartialOrd , Ord ) ]
1186
+ #[ derive( HashStable , TyEncodable , TyDecodable ) ]
1186
1187
pub struct Placeholder < T > {
1187
1188
pub universe : UniverseIndex ,
1188
1189
pub name : T ,
1189
1190
}
1190
1191
1191
- impl < ' a , T > HashStable < StableHashingContext < ' a > > for Placeholder < T >
1192
- where
1193
- T : HashStable < StableHashingContext < ' a > > ,
1194
- {
1195
- fn hash_stable ( & self , hcx : & mut StableHashingContext < ' a > , hasher : & mut StableHasher ) {
1196
- self . universe . hash_stable ( hcx, hasher) ;
1197
- self . name . hash_stable ( hcx, hasher) ;
1198
- }
1199
- }
1200
-
1201
1192
pub type PlaceholderRegion = Placeholder < BoundRegionKind > ;
1202
1193
1203
1194
pub type PlaceholderType = Placeholder < BoundVar > ;
@@ -1581,6 +1572,7 @@ impl<'tcx> PolyTraitRef<'tcx> {
1581
1572
}
1582
1573
1583
1574
#[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash , TypeFoldable , TypeVisitable ) ]
1575
+ #[ derive( HashStable ) ]
1584
1576
pub struct ParamEnvAnd < ' tcx , T > {
1585
1577
pub param_env : ParamEnv < ' tcx > ,
1586
1578
pub value : T ,
@@ -1598,18 +1590,6 @@ impl<'tcx, T> ParamEnvAnd<'tcx, T> {
1598
1590
}
1599
1591
}
1600
1592
1601
- impl < ' a , ' tcx , T > HashStable < StableHashingContext < ' a > > for ParamEnvAnd < ' tcx , T >
1602
- where
1603
- T : HashStable < StableHashingContext < ' a > > ,
1604
- {
1605
- fn hash_stable ( & self , hcx : & mut StableHashingContext < ' a > , hasher : & mut StableHasher ) {
1606
- let ParamEnvAnd { ref param_env, ref value } = * self ;
1607
-
1608
- param_env. hash_stable ( hcx, hasher) ;
1609
- value. hash_stable ( hcx, hasher) ;
1610
- }
1611
- }
1612
-
1613
1593
#[ derive( Copy , Clone , Debug , HashStable , Encodable , Decodable ) ]
1614
1594
pub struct Destructor {
1615
1595
/// The `DefId` of the destructor method
0 commit comments