@@ -29,8 +29,8 @@ use syntax::symbol::{kw, Symbol};
29
29
use self :: InferTy :: * ;
30
30
use self :: TyKind :: * ;
31
31
32
- #[ derive( Clone , Copy , PartialEq , Eq , PartialOrd , Ord ,
33
- Hash , Debug , RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
32
+ #[ derive( Clone , Copy , PartialEq , Eq , PartialOrd , Ord , Hash , Debug , RustcEncodable , RustcDecodable ) ]
33
+ # [ derive ( HashStable , TypeFoldable ) ]
34
34
pub struct TypeAndMut < ' tcx > {
35
35
pub ty : Ty < ' tcx > ,
36
36
pub mutbl : hir:: Mutability ,
@@ -591,8 +591,8 @@ impl<'tcx> UpvarSubsts<'tcx> {
591
591
}
592
592
}
593
593
594
- #[ derive( Debug , Copy , Clone , PartialEq , PartialOrd , Ord , Eq , Hash ,
595
- RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
594
+ #[ derive( Debug , Copy , Clone , PartialEq , PartialOrd , Ord , Eq , Hash , RustcEncodable , RustcDecodable ) ]
595
+ # [ derive ( HashStable , TypeFoldable ) ]
596
596
pub enum ExistentialPredicate < ' tcx > {
597
597
/// E.g., `Iterator`.
598
598
Trait ( ExistentialTraitRef < ' tcx > ) ,
@@ -742,8 +742,8 @@ impl<'tcx> Binder<&'tcx List<ExistentialPredicate<'tcx>>> {
742
742
/// Note that a `TraitRef` introduces a level of region binding, to
743
743
/// account for higher-ranked trait bounds like `T: for<'a> Foo<&'a U>`
744
744
/// or higher-ranked object types.
745
- #[ derive( Copy , Clone , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable ,
746
- HashStable , TypeFoldable ) ]
745
+ #[ derive( Copy , Clone , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable ) ]
746
+ # [ derive ( HashStable , TypeFoldable ) ]
747
747
pub struct TraitRef < ' tcx > {
748
748
pub def_id : DefId ,
749
749
pub substs : SubstsRef < ' tcx > ,
@@ -814,8 +814,8 @@ impl<'tcx> PolyTraitRef<'tcx> {
814
814
///
815
815
/// The substitutions don't include the erased `Self`, only trait
816
816
/// type and lifetime parameters (`[X, Y]` and `['a, 'b]` above).
817
- #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord , Hash ,
818
- RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
817
+ #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord , Hash , RustcEncodable , RustcDecodable ) ]
818
+ # [ derive ( HashStable , TypeFoldable ) ]
819
819
pub struct ExistentialTraitRef < ' tcx > {
820
820
pub def_id : DefId ,
821
821
pub substs : SubstsRef < ' tcx > ,
@@ -986,8 +986,8 @@ impl<T> Binder<T> {
986
986
987
987
/// Represents the projection of an associated type. In explicit UFCS
988
988
/// form this would be written `<T as Trait<..>>::N`.
989
- #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord ,
990
- Hash , Debug , RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
989
+ #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord , Hash , Debug , RustcEncodable , RustcDecodable ) ]
990
+ # [ derive ( HashStable , TypeFoldable ) ]
991
991
pub struct ProjectionTy < ' tcx > {
992
992
/// The parameters of the associated item.
993
993
pub substs : SubstsRef < ' tcx > ,
@@ -1057,8 +1057,8 @@ impl<'tcx> PolyGenSig<'tcx> {
1057
1057
/// - `inputs`: is the list of arguments and their modes.
1058
1058
/// - `output`: is the return type.
1059
1059
/// - `c_variadic`: indicates whether this is a C-variadic function.
1060
- #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord ,
1061
- Hash , RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
1060
+ #[ derive( Copy , Clone , PartialEq , Eq , PartialOrd , Ord , Hash , RustcEncodable , RustcDecodable ) ]
1061
+ # [ derive ( HashStable , TypeFoldable ) ]
1062
1062
pub struct FnSig < ' tcx > {
1063
1063
pub inputs_and_output : & ' tcx List < Ty < ' tcx > > ,
1064
1064
pub c_variadic : bool ,
@@ -1404,8 +1404,8 @@ impl From<BoundVar> for BoundTy {
1404
1404
}
1405
1405
1406
1406
/// A `ProjectionPredicate` for an `ExistentialTraitRef`.
1407
- #[ derive( Clone , Copy , PartialEq , Eq , PartialOrd , Ord , Hash ,
1408
- Debug , RustcEncodable , RustcDecodable , HashStable , TypeFoldable ) ]
1407
+ #[ derive( Clone , Copy , PartialEq , Eq , PartialOrd , Ord , Hash , Debug , RustcEncodable , RustcDecodable ) ]
1408
+ # [ derive ( HashStable , TypeFoldable ) ]
1409
1409
pub struct ExistentialProjection < ' tcx > {
1410
1410
pub item_def_id : DefId ,
1411
1411
pub substs : SubstsRef < ' tcx > ,
0 commit comments