4
4
// - $imeta
5
5
6
6
#[ macro_export]
7
- macro_rules! quick_error {
7
+ #[ doc( hidden) ]
8
+ macro_rules! impl_error_chain_kind {
8
9
( $( #[ $meta: meta] ) *
9
10
pub enum $name: ident { $( $chunks: tt) * }
10
11
) => {
11
- quick_error !( SORT [ pub enum $name $( #[ $meta] ) * ]
12
+ impl_error_chain_kind !( SORT [ pub enum $name $( #[ $meta] ) * ]
12
13
items [ ] buf [ ]
13
14
queue [ $( $chunks) * ] ) ;
14
15
} ;
15
16
( $( #[ $meta: meta] ) *
16
17
enum $name: ident { $( $chunks: tt) * }
17
18
) => {
18
- quick_error !( SORT [ enum $name $( #[ $meta] ) * ]
19
+ impl_error_chain_kind !( SORT [ enum $name $( #[ $meta] ) * ]
19
20
items [ ] buf [ ]
20
21
queue [ $( $chunks) * ] ) ;
21
22
} ;
@@ -27,16 +28,16 @@ macro_rules! quick_error {
27
28
buf [ ]
28
29
queue [ ]
29
30
) => {
30
- quick_error !( ENUM_DEFINITION [ enum $name $( #[ $meta] ) * ]
31
+ impl_error_chain_kind !( ENUM_DEFINITION [ enum $name $( #[ $meta] ) * ]
31
32
body [ ]
32
33
queue [ $( $( #[ $imeta] ) *
33
34
=> $iitem: $imode [ $( $ivar: $ityp ) ,* ] ) * ]
34
35
) ;
35
- quick_error !( IMPLEMENTATIONS $name { $(
36
+ impl_error_chain_kind !( IMPLEMENTATIONS $name { $(
36
37
$iitem: $imode [ $( #[ $imeta] ) * ] [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * }
37
38
) * } ) ;
38
39
$(
39
- quick_error !( ERROR_CHECK $imode $( $ifuncs) * ) ;
40
+ impl_error_chain_kind !( ERROR_CHECK $imode $( $ifuncs) * ) ;
40
41
) *
41
42
} ;
42
43
( SORT [ pub enum $name: ident $( #[ $meta: meta] ) * ]
@@ -46,16 +47,16 @@ macro_rules! quick_error {
46
47
buf [ ]
47
48
queue [ ]
48
49
) => {
49
- quick_error !( ENUM_DEFINITION [ pub enum $name $( #[ $meta] ) * ]
50
+ impl_error_chain_kind !( ENUM_DEFINITION [ pub enum $name $( #[ $meta] ) * ]
50
51
body [ ]
51
52
queue [ $( $( #[ $imeta] ) *
52
53
=> $iitem: $imode [ $( $ivar: $ityp ) ,* ] ) * ]
53
54
) ;
54
- quick_error !( IMPLEMENTATIONS $name { $(
55
+ impl_error_chain_kind !( IMPLEMENTATIONS $name { $(
55
56
$iitem: $imode [ $( #[ $imeta] ) * ] [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * }
56
57
) * } ) ;
57
58
$(
58
- quick_error !( ERROR_CHECK $imode $( $ifuncs) * ) ;
59
+ impl_error_chain_kind !( ERROR_CHECK $imode $( $ifuncs) * ) ;
59
60
) *
60
61
} ;
61
62
// Add meta to buffer
@@ -66,7 +67,7 @@ macro_rules! quick_error {
66
67
buf [ $( #[ $bmeta: meta] ) * ]
67
68
queue [ #[ $qmeta: meta] $( $tail: tt ) * ]
68
69
) => {
69
- quick_error !( SORT [ $( $def ) * ]
70
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
70
71
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
71
72
buf [ $( #[ $bmeta] ) * #[ $qmeta] ]
72
73
queue [ $( $tail ) * ] ) ;
@@ -79,7 +80,7 @@ macro_rules! quick_error {
79
80
buf [ $( #[ $bmeta: meta] ) * ]
80
81
queue [ $qitem: ident $( $tail: tt ) * ]
81
82
) => {
82
- quick_error !( SORT [ $( $def ) * ]
83
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
83
84
items [ $( $( #[ $imeta] ) *
84
85
=> $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
85
86
buf [ $( #[ $bmeta] ) * => $qitem : UNIT [ ] ]
@@ -94,7 +95,7 @@ macro_rules! quick_error {
94
95
=> $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
95
96
queue [ #[ $qmeta: meta] $( $tail: tt ) * ]
96
97
) => {
97
- quick_error !( SORT [ $( $def ) * ]
98
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
98
99
enum [ $( $( #[ $emeta] ) * => $eitem $( ( $( $etyp) ,* ) ) * ) *
99
100
$( #[ $bmeta] ) * => $bitem: $bmode $( ( $( $btyp) ,* ) ) * ]
100
101
items [ $( $( #[ $imeta: meta] ) *
@@ -111,7 +112,7 @@ macro_rules! quick_error {
111
112
buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
112
113
queue [ ( $( $qvar: ident: $qtyp: ty ) ,+) $( $tail: tt ) * ]
113
114
) => {
114
- quick_error !( SORT [ $( $def ) * ]
115
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
115
116
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
116
117
buf [ $( #[ $bmeta] ) * => $bitem: TUPLE [ $( $qvar: $qtyp ) ,* ] ]
117
118
queue [ $( $tail ) * ]
@@ -125,7 +126,7 @@ macro_rules! quick_error {
125
126
buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
126
127
queue [ { $( $qvar: ident: $qtyp: ty ) ,+} $( $tail: tt ) * ]
127
128
) => {
128
- quick_error !( SORT [ $( $def ) * ]
129
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
129
130
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
130
131
buf [ $( #[ $bmeta] ) * => $bitem: STRUCT [ $( $qvar: $qtyp ) ,* ] ]
131
132
queue [ $( $tail ) * ] ) ;
@@ -138,7 +139,7 @@ macro_rules! quick_error {
138
139
buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
139
140
queue [ { $( $qvar: ident: $qtyp: ty ) ,+ , } $( $tail: tt ) * ]
140
141
) => {
141
- quick_error !( SORT [ $( $def ) * ]
142
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
142
143
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
143
144
buf [ $( #[ $bmeta] ) * => $bitem: STRUCT [ $( $qvar: $qtyp ) ,* ] ]
144
145
queue [ $( $tail ) * ] ) ;
@@ -152,7 +153,7 @@ macro_rules! quick_error {
152
153
=> $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
153
154
queue [ { $( $qfuncs: tt ) * } $( $tail: tt ) * ]
154
155
) => {
155
- quick_error !( SORT [ $( $def ) * ]
156
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
156
157
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
157
158
$( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { $( $qfuncs ) * } ]
158
159
buf [ ]
@@ -167,7 +168,7 @@ macro_rules! quick_error {
167
168
=> $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
168
169
queue [ $qitem: ident $( $tail: tt ) * ]
169
170
) => {
170
- quick_error !( SORT [ $( $def ) * ]
171
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
171
172
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
172
173
$( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { } ]
173
174
buf [ => $qitem : UNIT [ ] ]
@@ -182,7 +183,7 @@ macro_rules! quick_error {
182
183
=> $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
183
184
queue [ ]
184
185
) => {
185
- quick_error !( SORT [ $( $def ) * ]
186
+ impl_error_chain_kind !( SORT [ $( $def ) * ]
186
187
items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
187
188
$( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { } ]
188
189
buf [ ]
@@ -223,7 +224,7 @@ macro_rules! quick_error {
223
224
queue [ $( #[ $qmeta: meta] ) *
224
225
=> $qitem: ident: UNIT [ ] $( $queue: tt ) * ]
225
226
) => {
226
- quick_error !( ENUM_DEFINITION [ $( $def) * ]
227
+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
227
228
body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
228
229
$( #[ $qmeta] ) * => $qitem ( ) { } ]
229
230
queue [ $( $queue) * ]
@@ -236,7 +237,7 @@ macro_rules! quick_error {
236
237
queue [ $( #[ $qmeta: meta] ) *
237
238
=> $qitem: ident: TUPLE [ $( $qvar: ident: $qtyp: ty ) ,+] $( $queue: tt ) * ]
238
239
) => {
239
- quick_error !( ENUM_DEFINITION [ $( $def) * ]
240
+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
240
241
body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
241
242
$( #[ $qmeta] ) * => $qitem ( ( $( $qtyp ) ,* ) ) { } ]
242
243
queue [ $( $queue) * ]
@@ -249,7 +250,7 @@ macro_rules! quick_error {
249
250
queue [ $( #[ $qmeta: meta] ) *
250
251
=> $qitem: ident: STRUCT [ $( $qvar: ident: $qtyp: ty ) ,* ] $( $queue: tt ) * ]
251
252
) => {
252
- quick_error !( ENUM_DEFINITION [ $( $def) * ]
253
+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
253
254
body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
254
255
$( #[ $qmeta] ) * => $qitem ( ) { { $( $qvar: $qtyp ) ,* } } ]
255
256
queue [ $( $queue) * ]
@@ -268,10 +269,10 @@ macro_rules! quick_error {
268
269
match * self {
269
270
$(
270
271
$( #[ $imeta] ) *
271
- quick_error !( ITEM_PATTERN
272
+ impl_error_chain_kind !( ITEM_PATTERN
272
273
$name $item: $imode [ $( ref $var ) ,* ]
273
274
) => {
274
- let display_fn = quick_error !( FIND_DISPLAY_IMPL
275
+ let display_fn = impl_error_chain_kind !( FIND_DISPLAY_IMPL
275
276
$name $item: $imode
276
277
{ $( $funcs ) * } ) ;
277
278
@@ -286,10 +287,10 @@ macro_rules! quick_error {
286
287
fn description(&self) -> &str {
287
288
match *self {
288
289
$(
289
- quick_error !(ITEM_PATTERN
290
+ impl_error_chain_kind !(ITEM_PATTERN
290
291
$name $item: $imode [$( ref $var ),*]
291
292
) => {
292
- quick_error !(FIND_DESCRIPTION_IMPL
293
+ impl_error_chain_kind !(FIND_DESCRIPTION_IMPL
293
294
$item: $imode self fmt [$( $var ),*]
294
295
{$( $funcs )*})
295
296
}
@@ -299,10 +300,10 @@ macro_rules! quick_error {
299
300
fn cause(&self) -> Option<&::std::error::Error> {
300
301
match *self {
301
302
$(
302
- quick_error !(ITEM_PATTERN
303
+ impl_error_chain_kind !(ITEM_PATTERN
303
304
$name $item: $imode [$( ref $var ),*]
304
305
) => {
305
- quick_error !(FIND_CAUSE_IMPL
306
+ impl_error_chain_kind !(FIND_CAUSE_IMPL
306
307
$item: $imode [$( $var ),*]
307
308
{$( $funcs )*})
308
309
}
@@ -317,10 +318,10 @@ macro_rules! quick_error {
317
318
match * self {
318
319
$(
319
320
$( #[ $imeta] ) *
320
- quick_error !( ITEM_PATTERN
321
+ impl_error_chain_kind !( ITEM_PATTERN
321
322
$name $item: $imode [ $( ref $var ) ,* ]
322
323
) => {
323
- quick_error !( FIND_DESCRIPTION_IMPL
324
+ impl_error_chain_kind !( FIND_DESCRIPTION_IMPL
324
325
$item: $imode self fmt [ $( $var ) ,* ]
325
326
{ $( $funcs ) * } )
326
327
}
@@ -329,15 +330,15 @@ macro_rules! quick_error {
329
330
}
330
331
}
331
332
$(
332
- quick_error !( FIND_FROM_IMPL
333
+ impl_error_chain_kind !( FIND_FROM_IMPL
333
334
$name $item: $imode [ $( $var: $typ ) ,* ]
334
335
{ $( $funcs ) * } ) ;
335
336
) *
336
337
} ;
337
338
( FIND_DISPLAY_IMPL $name: ident $item: ident: $imode: tt
338
339
{ display( $self_: tt) -> ( $( $exprs: tt ) * ) $( $tail: tt ) * }
339
340
) => {
340
- |quick_error !( IDENT $self_) : & $name, f: & mut :: std:: fmt:: Formatter | {
341
+ |impl_error_chain_kind !( IDENT $self_) : & $name, f: & mut :: std:: fmt:: Formatter | {
341
342
write!( f, $( $exprs ) * )
342
343
}
343
344
} ;
@@ -354,7 +355,7 @@ macro_rules! quick_error {
354
355
( FIND_DISPLAY_IMPL $name: ident $item: ident: $imode: tt
355
356
{ $t: tt $( $tail: tt ) * }
356
357
) => {
357
- quick_error !( FIND_DISPLAY_IMPL
358
+ impl_error_chain_kind !( FIND_DISPLAY_IMPL
358
359
$name $item: $imode
359
360
{ $( $tail ) * } )
360
361
} ;
@@ -375,7 +376,7 @@ macro_rules! quick_error {
375
376
[ $( $var: ident ) ,* ]
376
377
{ $t: tt $( $tail: tt ) * }
377
378
) => {
378
- quick_error !( FIND_DESCRIPTION_IMPL
379
+ impl_error_chain_kind !( FIND_DESCRIPTION_IMPL
379
380
$item: $imode $me $fmt [ $( $var ) ,* ]
380
381
{ $( $tail ) * } )
381
382
} ;
@@ -395,7 +396,7 @@ macro_rules! quick_error {
395
396
[ $( $var: ident ) ,* ]
396
397
{ $t: tt $( $tail: tt ) * }
397
398
) => {
398
- quick_error !( FIND_CAUSE_IMPL
399
+ impl_error_chain_kind !( FIND_CAUSE_IMPL
399
400
$item: $imode [ $( $var ) ,* ]
400
401
{ $( $tail) * } )
401
402
} ;
@@ -416,7 +417,7 @@ macro_rules! quick_error {
416
417
}
417
418
}
418
419
) *
419
- quick_error !( FIND_FROM_IMPL
420
+ impl_error_chain_kind !( FIND_FROM_IMPL
420
421
$name $item: $imode [ $( $var: $typ ) ,* ]
421
422
{ $( $tail ) * } ) ;
422
423
} ;
@@ -429,7 +430,7 @@ macro_rules! quick_error {
429
430
$name:: $item
430
431
}
431
432
}
432
- quick_error !( FIND_FROM_IMPL
433
+ impl_error_chain_kind !( FIND_FROM_IMPL
433
434
$name $item: UNIT [ ]
434
435
{ $( $tail ) * } ) ;
435
436
} ;
@@ -442,7 +443,7 @@ macro_rules! quick_error {
442
443
$name:: $item( $( $texpr ) ,* )
443
444
}
444
445
}
445
- quick_error !( FIND_FROM_IMPL
446
+ impl_error_chain_kind !( FIND_FROM_IMPL
446
447
$name $item: TUPLE [ $( $var: $typ ) ,* ]
447
448
{ $( $tail) * } ) ;
448
449
} ;
@@ -457,15 +458,15 @@ macro_rules! quick_error {
457
458
}
458
459
}
459
460
}
460
- quick_error !( FIND_FROM_IMPL
461
+ impl_error_chain_kind !( FIND_FROM_IMPL
461
462
$name $item: STRUCT [ $( $var: $typ ) ,* ]
462
463
{ $( $tail) * } ) ;
463
464
} ;
464
465
( FIND_FROM_IMPL $name: ident $item: ident: $imode: tt
465
466
[ $( $var: ident: $typ: ty ) ,* ]
466
467
{ $t: tt $( $tail: tt ) * }
467
468
) => {
468
- quick_error !( FIND_FROM_IMPL
469
+ impl_error_chain_kind !( FIND_FROM_IMPL
469
470
$name $item: $imode [ $( $var: $typ ) ,* ]
470
471
{ $( $tail ) * }
471
472
) ;
@@ -506,28 +507,28 @@ macro_rules! quick_error {
506
507
// This is to contrast FIND_* clauses which just find stuff they need and
507
508
// skip everything else completely
508
509
( ERROR_CHECK $imode: tt display( $self_: tt) -> ( $( $exprs: tt ) * ) $( $tail: tt ) * )
509
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
510
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
510
511
( ERROR_CHECK $imode: tt display( $pattern: expr) $( $tail: tt ) * )
511
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
512
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
512
513
( ERROR_CHECK $imode: tt display( $pattern: expr, $( $exprs: tt ) * ) $( $tail: tt ) * )
513
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
514
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
514
515
( ERROR_CHECK $imode: tt description( $expr: expr) $( $tail: tt ) * )
515
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
516
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
516
517
( ERROR_CHECK $imode: tt cause( $expr: expr) $( $tail: tt) * )
517
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
518
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
518
519
( ERROR_CHECK $imode: tt from( ) $( $tail: tt) * )
519
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
520
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
520
521
( ERROR_CHECK $imode: tt from( $ftyp: ty) $( $tail: tt) * )
521
- => { quick_error !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
522
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA $imode $( $tail) * ) ; } ;
522
523
( ERROR_CHECK TUPLE from( $fvar: ident: $ftyp: ty) -> ( $( $e: expr ) ,* ) $( $tail: tt ) * )
523
- => { quick_error !( ERROR_CHECK_COMMA TUPLE $( $tail) * ) ; } ;
524
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA TUPLE $( $tail) * ) ; } ;
524
525
( ERROR_CHECK STRUCT from( $fvar: ident: $ftyp: ty) -> { $( $v: ident: $e: expr ) ,* } $( $tail: tt ) * )
525
- => { quick_error !( ERROR_CHECK_COMMA STRUCT $( $tail) * ) ; } ;
526
+ => { impl_error_chain_kind !( ERROR_CHECK_COMMA STRUCT $( $tail) * ) ; } ;
526
527
( ERROR_CHECK $imode: tt ) => { } ;
527
528
( ERROR_CHECK_COMMA $imode: tt , $( $tail: tt ) * )
528
- => { quick_error !( ERROR_CHECK $imode $( $tail) * ) ; } ;
529
+ => { impl_error_chain_kind !( ERROR_CHECK $imode $( $tail) * ) ; } ;
529
530
( ERROR_CHECK_COMMA $imode: tt $( $tail: tt ) * )
530
- => { quick_error !( ERROR_CHECK $imode $( $tail) * ) ; } ;
531
+ => { impl_error_chain_kind !( ERROR_CHECK $imode $( $tail) * ) ; } ;
531
532
// Utility functions
532
533
( IDENT $ident: ident) => { $ident }
533
534
}
0 commit comments