@@ -29,8 +29,8 @@ use syntax::symbol::{kw, Symbol};
2929use self :: InferTy :: * ;
3030use self :: TyKind :: * ;
3131
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 ) ]
3434pub struct TypeAndMut < ' tcx > {
3535 pub ty : Ty < ' tcx > ,
3636 pub mutbl : hir:: Mutability ,
@@ -591,8 +591,8 @@ impl<'tcx> UpvarSubsts<'tcx> {
591591 }
592592}
593593
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 ) ]
596596pub enum ExistentialPredicate < ' tcx > {
597597 /// E.g., `Iterator`.
598598 Trait ( ExistentialTraitRef < ' tcx > ) ,
@@ -742,8 +742,8 @@ impl<'tcx> Binder<&'tcx List<ExistentialPredicate<'tcx>>> {
742742/// Note that a `TraitRef` introduces a level of region binding, to
743743/// account for higher-ranked trait bounds like `T: for<'a> Foo<&'a U>`
744744/// 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 ) ]
747747pub struct TraitRef < ' tcx > {
748748 pub def_id : DefId ,
749749 pub substs : SubstsRef < ' tcx > ,
@@ -814,8 +814,8 @@ impl<'tcx> PolyTraitRef<'tcx> {
814814///
815815/// The substitutions don't include the erased `Self`, only trait
816816/// 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 ) ]
819819pub struct ExistentialTraitRef < ' tcx > {
820820 pub def_id : DefId ,
821821 pub substs : SubstsRef < ' tcx > ,
@@ -986,8 +986,8 @@ impl<T> Binder<T> {
986986
987987/// Represents the projection of an associated type. In explicit UFCS
988988/// 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 ) ]
991991pub struct ProjectionTy < ' tcx > {
992992 /// The parameters of the associated item.
993993 pub substs : SubstsRef < ' tcx > ,
@@ -1057,8 +1057,8 @@ impl<'tcx> PolyGenSig<'tcx> {
10571057/// - `inputs`: is the list of arguments and their modes.
10581058/// - `output`: is the return type.
10591059/// - `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 ) ]
10621062pub struct FnSig < ' tcx > {
10631063 pub inputs_and_output : & ' tcx List < Ty < ' tcx > > ,
10641064 pub c_variadic : bool ,
@@ -1404,8 +1404,8 @@ impl From<BoundVar> for BoundTy {
14041404}
14051405
14061406/// 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 ) ]
14091409pub struct ExistentialProjection < ' tcx > {
14101410 pub item_def_id : DefId ,
14111411 pub substs : SubstsRef < ' tcx > ,
0 commit comments