@@ -30,7 +30,7 @@ pub use crate::syntax_bridge::ast_to_token_tree;
30
30
/// be very confusing is that AST has almost exactly the same shape as
31
31
/// `tt::TokenTree`, but there's a crucial difference: in macro rules, `$ident`
32
32
/// and `$()*` have special meaning (see `Var` and `Repeat` data structures)
33
- #[ derive( Debug ) ]
33
+ #[ derive( Debug , PartialEq , Eq ) ]
34
34
pub struct MacroRules {
35
35
pub ( crate ) rules : Vec < Rule > ,
36
36
}
@@ -44,21 +44,21 @@ impl MacroRules {
44
44
}
45
45
}
46
46
47
- #[ derive( Debug ) ]
47
+ #[ derive( Debug , PartialEq , Eq ) ]
48
48
pub ( crate ) struct Rule {
49
49
pub ( crate ) lhs : Subtree ,
50
50
pub ( crate ) rhs : Subtree ,
51
51
}
52
52
53
- #[ derive( Debug ) ]
53
+ #[ derive( Debug , PartialEq , Eq ) ]
54
54
pub ( crate ) enum TokenTree {
55
55
Leaf ( Leaf ) ,
56
56
Subtree ( Subtree ) ,
57
57
Repeat ( Repeat ) ,
58
58
}
59
59
impl_froms ! ( TokenTree : Leaf , Subtree , Repeat ) ;
60
60
61
- #[ derive( Debug ) ]
61
+ #[ derive( Debug , PartialEq , Eq ) ]
62
62
pub ( crate ) enum Leaf {
63
63
Literal ( Literal ) ,
64
64
Punct ( Punct ) ,
@@ -67,37 +67,37 @@ pub(crate) enum Leaf {
67
67
}
68
68
impl_froms ! ( Leaf : Literal , Punct , Ident , Var ) ;
69
69
70
- #[ derive( Debug ) ]
70
+ #[ derive( Debug , PartialEq , Eq ) ]
71
71
pub ( crate ) struct Subtree {
72
72
pub ( crate ) delimiter : Delimiter ,
73
73
pub ( crate ) token_trees : Vec < TokenTree > ,
74
74
}
75
75
76
- #[ derive( Debug ) ]
76
+ #[ derive( Debug , PartialEq , Eq ) ]
77
77
pub ( crate ) struct Repeat {
78
78
pub ( crate ) subtree : Subtree ,
79
79
pub ( crate ) kind : RepeatKind ,
80
80
pub ( crate ) separator : Option < char > ,
81
81
}
82
82
83
- #[ derive( Debug ) ]
83
+ #[ derive( Debug , PartialEq , Eq ) ]
84
84
pub ( crate ) enum RepeatKind {
85
85
ZeroOrMore ,
86
86
OneOrMore ,
87
87
ZeroOrOne ,
88
88
}
89
89
90
- #[ derive( Debug ) ]
90
+ #[ derive( Debug , PartialEq , Eq ) ]
91
91
pub ( crate ) struct Literal {
92
92
pub ( crate ) text : SmolStr ,
93
93
}
94
94
95
- #[ derive( Debug ) ]
95
+ #[ derive( Debug , PartialEq , Eq ) ]
96
96
pub ( crate ) struct Ident {
97
97
pub ( crate ) text : SmolStr ,
98
98
}
99
99
100
- #[ derive( Debug ) ]
100
+ #[ derive( Debug , PartialEq , Eq ) ]
101
101
pub ( crate ) struct Var {
102
102
pub ( crate ) text : SmolStr ,
103
103
pub ( crate ) kind : Option < SmolStr > ,
0 commit comments