@@ -3,12 +3,13 @@ use crate::util::nodemap::{NodeMap, DefIdMap};
3
3
use syntax:: ast;
4
4
use syntax:: ext:: base:: MacroKind ;
5
5
use syntax_pos:: Span ;
6
+ use rustc_macros:: HashStable ;
6
7
use crate :: hir;
7
8
use crate :: ty;
8
9
9
10
use self :: Namespace :: * ;
10
11
11
- #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug ) ]
12
+ #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug , HashStable ) ]
12
13
pub enum CtorKind {
13
14
/// Constructor function automatically created by a tuple struct/variant.
14
15
Fn ,
@@ -18,7 +19,7 @@ pub enum CtorKind {
18
19
Fictive ,
19
20
}
20
21
21
- #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug ) ]
22
+ #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug , HashStable ) ]
22
23
pub enum NonMacroAttrKind {
23
24
/// Single-segment attribute defined by the language (`#[inline]`)
24
25
Builtin ,
@@ -32,7 +33,7 @@ pub enum NonMacroAttrKind {
32
33
Custom ,
33
34
}
34
35
35
- #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug ) ]
36
+ #[ derive( Clone , Copy , PartialEq , Eq , RustcEncodable , RustcDecodable , Hash , Debug , HashStable ) ]
36
37
pub enum Def {
37
38
// Type namespace
38
39
Mod ( DefId ) ,
@@ -209,7 +210,7 @@ pub type ExportMap = DefIdMap<Vec<Export>>;
209
210
/// namespace.
210
211
pub type ImportMap = NodeMap < PerNS < Option < PathResolution > > > ;
211
212
212
- #[ derive( Copy , Clone , Debug , RustcEncodable , RustcDecodable ) ]
213
+ #[ derive( Copy , Clone , Debug , RustcEncodable , RustcDecodable , HashStable ) ]
213
214
pub struct Export {
214
215
/// The name of the target.
215
216
pub ident : ast:: Ident ,
0 commit comments