@@ -86,7 +86,11 @@ macro_rules! newtype_index {
86
86
// ---- private rules ----
87
87
88
88
// Base case, user-defined constants (if any) have already been defined
89
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $debug_name: expr] ) => (
89
+ ( @derives [ $( $derives: ident) ,* ]
90
+ @type [ $type: ident]
91
+ @pub [ $( $pub: tt) * ]
92
+ @max [ $max: expr]
93
+ @debug_name [ $debug_name: expr] ) => (
90
94
#[ derive( Copy , Clone , PartialEq , Eq , Hash , PartialOrd , Ord , $( $derives) ,* ) ]
91
95
pub struct $type( $( $pub) * u32 ) ;
92
96
@@ -110,8 +114,12 @@ macro_rules! newtype_index {
110
114
111
115
// By not including the @derives marker in this list nor in the default args, we can force it
112
116
// to come first if it exists
113
- ( @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $debug_name: expr]
114
- derive [ $( $derives: ident) ,+] $( $tokens: tt) * ) => (
117
+ ( @type [ $type: ident]
118
+ @pub [ $( $pub: tt) * ]
119
+ @max [ $max: expr]
120
+ @debug_name [ $debug_name: expr]
121
+ derive [ $( $derives: ident) ,+]
122
+ $( $tokens: tt) * ) => (
115
123
newtype_index!(
116
124
@derives [ $( $derives) ,+]
117
125
@type [ $type]
@@ -122,7 +130,11 @@ macro_rules! newtype_index {
122
130
) ;
123
131
124
132
// The case where no derives are added
125
- ( @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $debug_name: expr] $( $tokens: tt) * ) => (
133
+ ( @type [ $type: ident]
134
+ @pub [ $( $pub: tt) * ]
135
+ @max [ $max: expr]
136
+ @debug_name [ $debug_name: expr]
137
+ $( $tokens: tt) * ) => (
126
138
newtype_index!(
127
139
@derives [ ]
128
140
@type [ $type]
@@ -133,8 +145,12 @@ macro_rules! newtype_index {
133
145
) ;
134
146
135
147
// Rewrite final without comma to one that includes comma
136
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $debug_name: expr]
137
- $name: ident = $constant: expr) => (
148
+ ( @derives [ $( $derives: ident) ,* ]
149
+ @type [ $type: ident]
150
+ @pub [ $( $pub: tt) * ]
151
+ @max [ $max: expr]
152
+ @debug_name [ $debug_name: expr]
153
+ $name: ident = $constant: expr) => (
138
154
newtype_index!(
139
155
@derives [ $( $derives) ,* ]
140
156
@type [ $type]
@@ -145,8 +161,13 @@ macro_rules! newtype_index {
145
161
) ;
146
162
147
163
// Rewrite final const without comma to one that includes comma
148
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $_max: expr] @debug_name[ $debug_name: expr]
149
- $( #[ doc = $doc: expr] ) * const $name: ident = $constant: expr) => (
164
+ ( @derives [ $( $derives: ident) ,* ]
165
+ @type [ $type: ident]
166
+ @pub [ $( $pub: tt) * ]
167
+ @max [ $_max: expr]
168
+ @debug_name [ $debug_name: expr]
169
+ $( #[ doc = $doc: expr] ) *
170
+ const $name: ident = $constant: expr) => (
150
171
newtype_index!(
151
172
@derives [ $( $derives) ,* ]
152
173
@type [ $type]
@@ -157,8 +178,13 @@ macro_rules! newtype_index {
157
178
) ;
158
179
159
180
// Replace existing default for max
160
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $_max: expr] @debug_name[ $debug_name: expr]
161
- MAX = $max: expr, $( $tokens: tt) * ) => (
181
+ ( @derives [ $( $derives: ident) ,* ]
182
+ @type [ $type: ident]
183
+ @pub [ $( $pub: tt) * ]
184
+ @max [ $_max: expr]
185
+ @debug_name [ $debug_name: expr]
186
+ MAX = $max: expr,
187
+ $( $tokens: tt) * ) => (
162
188
newtype_index!(
163
189
@derives [ $( $derives) ,* ]
164
190
@type [ $type]
@@ -169,8 +195,13 @@ macro_rules! newtype_index {
169
195
) ;
170
196
171
197
// Replace existing default for debug_name
172
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $_debug_name: expr]
173
- DEBUG_NAME = $debug_name: expr, $( $tokens: tt) * ) => (
198
+ ( @derives [ $( $derives: ident) ,* ]
199
+ @type [ $type: ident]
200
+ @pub [ $( $pub: tt) * ]
201
+ @max [ $max: expr]
202
+ @debug_name [ $_debug_name: expr]
203
+ DEBUG_NAME = $debug_name: expr,
204
+ $( $tokens: tt) * ) => (
174
205
newtype_index!(
175
206
@derives [ $( $derives) ,* ]
176
207
@type [ $type]
@@ -181,8 +212,14 @@ macro_rules! newtype_index {
181
212
) ;
182
213
183
214
// Assign a user-defined constant
184
- ( @derives[ $( $derives: ident) ,* ] @type [ $type: ident] @pub [ $( $pub: tt) * ] @max[ $max: expr] @debug_name[ $debug_name: expr]
185
- $( #[ doc = $doc: expr] ) * const $name: ident = $constant: expr, $( $tokens: tt) * ) => (
215
+ ( @derives [ $( $derives: ident) ,* ]
216
+ @type [ $type: ident]
217
+ @pub [ $( $pub: tt) * ]
218
+ @max [ $max: expr]
219
+ @debug_name [ $debug_name: expr]
220
+ $( #[ doc = $doc: expr] ) *
221
+ const $name: ident = $constant: expr,
222
+ $( $tokens: tt) * ) => (
186
223
$( #[ doc = $doc] ) *
187
224
pub const $name: $type = $type( $constant) ;
188
225
newtype_index!(
0 commit comments