@@ -33,53 +33,53 @@ impl TokenId {
33
33
}
34
34
}
35
35
36
- #[ derive( Debug , Clone , PartialEq , Eq ) ]
36
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
37
37
pub enum TokenTree {
38
38
Leaf ( Leaf ) ,
39
39
Subtree ( Subtree ) ,
40
40
}
41
41
impl_froms ! ( TokenTree : Leaf , Subtree ) ;
42
42
43
- #[ derive( Debug , Clone , PartialEq , Eq ) ]
43
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
44
44
pub enum Leaf {
45
45
Literal ( Literal ) ,
46
46
Punct ( Punct ) ,
47
47
Ident ( Ident ) ,
48
48
}
49
49
impl_froms ! ( Leaf : Literal , Punct , Ident ) ;
50
50
51
- #[ derive( Debug , Clone , PartialEq , Eq ) ]
51
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
52
52
pub struct Subtree {
53
53
pub delimiter : Delimiter ,
54
54
pub token_trees : Vec < TokenTree > ,
55
55
}
56
56
57
- #[ derive( Clone , Copy , Debug , PartialEq , Eq ) ]
57
+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
58
58
pub enum Delimiter {
59
59
Parenthesis ,
60
60
Brace ,
61
61
Bracket ,
62
62
None ,
63
63
}
64
64
65
- #[ derive( Debug , Clone , PartialEq , Eq ) ]
65
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
66
66
pub struct Literal {
67
67
pub text : SmolStr ,
68
68
}
69
69
70
- #[ derive( Debug , Clone , Copy , PartialEq , Eq ) ]
70
+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash ) ]
71
71
pub struct Punct {
72
72
pub char : char ,
73
73
pub spacing : Spacing ,
74
74
}
75
75
76
- #[ derive( Debug , Clone , Copy , PartialEq , Eq ) ]
76
+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , Hash ) ]
77
77
pub enum Spacing {
78
78
Alone ,
79
79
Joint ,
80
80
}
81
81
82
- #[ derive( Debug , Clone , PartialEq , Eq ) ]
82
+ #[ derive( Debug , Clone , PartialEq , Eq , Hash ) ]
83
83
pub struct Ident {
84
84
pub text : SmolStr ,
85
85
pub id : TokenId ,
0 commit comments