@@ -468,7 +468,7 @@ impl<T: Decodable> rustc_serialize::UseSpecializedDecodable for ClearCrossCrate<
468
468
/// Grouped information about the source code origin of a MIR entity.
469
469
/// Intended to be inspected by diagnostics and debuginfo.
470
470
/// Most passes can work with it as a whole, within a single function.
471
- #[ derive( Copy , Clone , Debug , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , HashStable ) ]
471
+ #[ derive( Copy , Clone , Debug , PartialEq , RustcEncodable , RustcDecodable , HashStable ) ]
472
472
pub struct SourceInfo {
473
473
/// The source span for the AST pertaining to this MIR entity.
474
474
pub span : Span ,
@@ -608,7 +608,7 @@ pub enum LocalKind {
608
608
ReturnPointer ,
609
609
}
610
610
611
- #[ derive( Clone , PartialEq , Eq , Hash , Debug , RustcEncodable , RustcDecodable ) ]
611
+ #[ derive( Clone , Debug , RustcEncodable , RustcDecodable ) ]
612
612
pub struct VarBindingForm < ' tcx > {
613
613
/// Is variable bound via `x`, `mut x`, `ref x`, or `ref mut x`?
614
614
pub binding_mode : ty:: BindingMode ,
@@ -630,7 +630,7 @@ pub struct VarBindingForm<'tcx> {
630
630
pub pat_span : Span ,
631
631
}
632
632
633
- #[ derive( Clone , PartialEq , Eq , Hash , Debug , RustcEncodable , RustcDecodable ) ]
633
+ #[ derive( Clone , Debug , RustcEncodable , RustcDecodable ) ]
634
634
pub enum BindingForm < ' tcx > {
635
635
/// This is a binding for a non-`self` binding, or a `self` that has an explicit type.
636
636
Var ( VarBindingForm < ' tcx > ) ,
@@ -641,7 +641,7 @@ pub enum BindingForm<'tcx> {
641
641
}
642
642
643
643
/// Represents what type of implicit self a function has, if any.
644
- #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , RustcEncodable , RustcDecodable ) ]
644
+ #[ derive( Clone , Copy , PartialEq , Debug , RustcEncodable , RustcDecodable ) ]
645
645
pub enum ImplicitSelfKind {
646
646
/// Represents a `fn x(self);`.
647
647
Imm ,
@@ -2392,7 +2392,7 @@ impl<'tcx> Debug for Rvalue<'tcx> {
2392
2392
/// this does not necessarily mean that they are "==" in Rust -- in
2393
2393
/// particular one must be wary of `NaN`!
2394
2394
2395
- #[ derive( Copy , Clone , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2395
+ #[ derive( Clone , PartialEq , RustcEncodable , RustcDecodable , HashStable ) ]
2396
2396
pub struct Constant < ' tcx > {
2397
2397
pub span : Span ,
2398
2398
@@ -2438,7 +2438,7 @@ pub struct Constant<'tcx> {
2438
2438
/// The first will lead to the constraint `w: &'1 str` (for some
2439
2439
/// inferred region `'1`). The second will lead to the constraint `w:
2440
2440
/// &'static str`.
2441
- #[ derive( Clone , Debug , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2441
+ #[ derive( Clone , Debug , RustcEncodable , RustcDecodable , HashStable ) ]
2442
2442
pub struct UserTypeProjections {
2443
2443
pub ( crate ) contents : Vec < ( UserTypeProjection , Span ) > ,
2444
2444
}
@@ -2515,7 +2515,7 @@ impl<'tcx> UserTypeProjections {
2515
2515
/// * `let (x, _): T = ...` -- here, the `projs` vector would contain
2516
2516
/// `field[0]` (aka `.0`), indicating that the type of `s` is
2517
2517
/// determined by finding the type of the `.0` field from `T`.
2518
- #[ derive( Clone , Debug , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2518
+ #[ derive( Clone , Debug , RustcEncodable , RustcDecodable , HashStable ) ]
2519
2519
pub struct UserTypeProjection {
2520
2520
pub base : UserTypeAnnotationIndex ,
2521
2521
pub projs : Vec < ProjectionKind > ,
@@ -2724,7 +2724,7 @@ impl Location {
2724
2724
}
2725
2725
}
2726
2726
2727
- #[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2727
+ #[ derive( Copy , Clone , PartialEq , RustcEncodable , RustcDecodable , HashStable ) ]
2728
2728
pub enum UnsafetyViolationKind {
2729
2729
General ,
2730
2730
/// Permitted both in `const fn`s and regular `fn`s.
@@ -2733,15 +2733,15 @@ pub enum UnsafetyViolationKind {
2733
2733
BorrowPacked ( hir:: HirId ) ,
2734
2734
}
2735
2735
2736
- #[ derive( Copy , Clone , Debug , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2736
+ #[ derive( Copy , Clone , PartialEq , RustcEncodable , RustcDecodable , HashStable ) ]
2737
2737
pub struct UnsafetyViolation {
2738
2738
pub source_info : SourceInfo ,
2739
2739
pub description : InternedString ,
2740
2740
pub details : InternedString ,
2741
2741
pub kind : UnsafetyViolationKind ,
2742
2742
}
2743
2743
2744
- #[ derive( Clone , Debug , PartialEq , Eq , Hash , RustcEncodable , RustcDecodable , HashStable ) ]
2744
+ #[ derive( Clone , RustcEncodable , RustcDecodable , HashStable ) ]
2745
2745
pub struct UnsafetyCheckResult {
2746
2746
/// Violations that are propagated *upwards* from this function.
2747
2747
pub violations : Lrc < [ UnsafetyViolation ] > ,
0 commit comments