44// - $imeta
55
66#[ macro_export]
7- macro_rules! quick_error {
7+ #[ doc( hidden) ]
8+ macro_rules! impl_error_chain_kind {
89 ( $( #[ $meta: meta] ) *
910 pub enum $name: ident { $( $chunks: tt) * }
1011 ) => {
11- quick_error !( SORT [ pub enum $name $( #[ $meta] ) * ]
12+ impl_error_chain_kind !( SORT [ pub enum $name $( #[ $meta] ) * ]
1213 items [ ] buf [ ]
1314 queue [ $( $chunks) * ] ) ;
1415 } ;
1516 ( $( #[ $meta: meta] ) *
1617 enum $name: ident { $( $chunks: tt) * }
1718 ) => {
18- quick_error !( SORT [ enum $name $( #[ $meta] ) * ]
19+ impl_error_chain_kind !( SORT [ enum $name $( #[ $meta] ) * ]
1920 items [ ] buf [ ]
2021 queue [ $( $chunks) * ] ) ;
2122 } ;
@@ -27,16 +28,16 @@ macro_rules! quick_error {
2728 buf [ ]
2829 queue [ ]
2930 ) => {
30- quick_error !( ENUM_DEFINITION [ enum $name $( #[ $meta] ) * ]
31+ impl_error_chain_kind !( ENUM_DEFINITION [ enum $name $( #[ $meta] ) * ]
3132 body [ ]
3233 queue [ $( $( #[ $imeta] ) *
3334 => $iitem: $imode [ $( $ivar: $ityp ) ,* ] ) * ]
3435 ) ;
35- quick_error !( IMPLEMENTATIONS $name { $(
36+ impl_error_chain_kind !( IMPLEMENTATIONS $name { $(
3637 $iitem: $imode [ $( #[ $imeta] ) * ] [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * }
3738 ) * } ) ;
3839 $(
39- quick_error !( ERROR_CHECK $imode $( $ifuncs) * ) ;
40+ impl_error_chain_kind !( ERROR_CHECK $imode $( $ifuncs) * ) ;
4041 ) *
4142 } ;
4243 ( SORT [ pub enum $name: ident $( #[ $meta: meta] ) * ]
@@ -46,16 +47,16 @@ macro_rules! quick_error {
4647 buf [ ]
4748 queue [ ]
4849 ) => {
49- quick_error !( ENUM_DEFINITION [ pub enum $name $( #[ $meta] ) * ]
50+ impl_error_chain_kind !( ENUM_DEFINITION [ pub enum $name $( #[ $meta] ) * ]
5051 body [ ]
5152 queue [ $( $( #[ $imeta] ) *
5253 => $iitem: $imode [ $( $ivar: $ityp ) ,* ] ) * ]
5354 ) ;
54- quick_error !( IMPLEMENTATIONS $name { $(
55+ impl_error_chain_kind !( IMPLEMENTATIONS $name { $(
5556 $iitem: $imode [ $( #[ $imeta] ) * ] [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * }
5657 ) * } ) ;
5758 $(
58- quick_error !( ERROR_CHECK $imode $( $ifuncs) * ) ;
59+ impl_error_chain_kind !( ERROR_CHECK $imode $( $ifuncs) * ) ;
5960 ) *
6061 } ;
6162 // Add meta to buffer
@@ -66,7 +67,7 @@ macro_rules! quick_error {
6667 buf [ $( #[ $bmeta: meta] ) * ]
6768 queue [ #[ $qmeta: meta] $( $tail: tt ) * ]
6869 ) => {
69- quick_error !( SORT [ $( $def ) * ]
70+ impl_error_chain_kind !( SORT [ $( $def ) * ]
7071 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
7172 buf [ $( #[ $bmeta] ) * #[ $qmeta] ]
7273 queue [ $( $tail ) * ] ) ;
@@ -79,7 +80,7 @@ macro_rules! quick_error {
7980 buf [ $( #[ $bmeta: meta] ) * ]
8081 queue [ $qitem: ident $( $tail: tt ) * ]
8182 ) => {
82- quick_error !( SORT [ $( $def ) * ]
83+ impl_error_chain_kind !( SORT [ $( $def ) * ]
8384 items [ $( $( #[ $imeta] ) *
8485 => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
8586 buf [ $( #[ $bmeta] ) * => $qitem : UNIT [ ] ]
@@ -94,7 +95,7 @@ macro_rules! quick_error {
9495 => $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
9596 queue [ #[ $qmeta: meta] $( $tail: tt ) * ]
9697 ) => {
97- quick_error !( SORT [ $( $def ) * ]
98+ impl_error_chain_kind !( SORT [ $( $def ) * ]
9899 enum [ $( $( #[ $emeta] ) * => $eitem $( ( $( $etyp) ,* ) ) * ) *
99100 $( #[ $bmeta] ) * => $bitem: $bmode $( ( $( $btyp) ,* ) ) * ]
100101 items [ $( $( #[ $imeta: meta] ) *
@@ -111,7 +112,7 @@ macro_rules! quick_error {
111112 buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
112113 queue [ ( $( $qvar: ident: $qtyp: ty ) ,+) $( $tail: tt ) * ]
113114 ) => {
114- quick_error !( SORT [ $( $def ) * ]
115+ impl_error_chain_kind !( SORT [ $( $def ) * ]
115116 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
116117 buf [ $( #[ $bmeta] ) * => $bitem: TUPLE [ $( $qvar: $qtyp ) ,* ] ]
117118 queue [ $( $tail ) * ]
@@ -125,7 +126,7 @@ macro_rules! quick_error {
125126 buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
126127 queue [ { $( $qvar: ident: $qtyp: ty ) ,+} $( $tail: tt ) * ]
127128 ) => {
128- quick_error !( SORT [ $( $def ) * ]
129+ impl_error_chain_kind !( SORT [ $( $def ) * ]
129130 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
130131 buf [ $( #[ $bmeta] ) * => $bitem: STRUCT [ $( $qvar: $qtyp ) ,* ] ]
131132 queue [ $( $tail ) * ] ) ;
@@ -138,7 +139,7 @@ macro_rules! quick_error {
138139 buf [ $( #[ $bmeta: meta] ) * => $bitem: ident: UNIT [ ] ]
139140 queue [ { $( $qvar: ident: $qtyp: ty ) ,+ , } $( $tail: tt ) * ]
140141 ) => {
141- quick_error !( SORT [ $( $def ) * ]
142+ impl_error_chain_kind !( SORT [ $( $def ) * ]
142143 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) * ]
143144 buf [ $( #[ $bmeta] ) * => $bitem: STRUCT [ $( $qvar: $qtyp ) ,* ] ]
144145 queue [ $( $tail ) * ] ) ;
@@ -152,7 +153,7 @@ macro_rules! quick_error {
152153 => $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
153154 queue [ { $( $qfuncs: tt ) * } $( $tail: tt ) * ]
154155 ) => {
155- quick_error !( SORT [ $( $def ) * ]
156+ impl_error_chain_kind !( SORT [ $( $def ) * ]
156157 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
157158 $( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { $( $qfuncs ) * } ]
158159 buf [ ]
@@ -167,7 +168,7 @@ macro_rules! quick_error {
167168 => $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
168169 queue [ $qitem: ident $( $tail: tt ) * ]
169170 ) => {
170- quick_error !( SORT [ $( $def ) * ]
171+ impl_error_chain_kind !( SORT [ $( $def ) * ]
171172 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
172173 $( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { } ]
173174 buf [ => $qitem : UNIT [ ] ]
@@ -182,7 +183,7 @@ macro_rules! quick_error {
182183 => $bitem: ident: $bmode: tt [ $( $bvar: ident: $btyp: ty ) ,* ] ]
183184 queue [ ]
184185 ) => {
185- quick_error !( SORT [ $( $def ) * ]
186+ impl_error_chain_kind !( SORT [ $( $def ) * ]
186187 items [ $( $( #[ $imeta] ) * => $iitem: $imode [ $( $ivar: $ityp ) ,* ] { $( $ifuncs ) * } ) *
187188 $( #[ $bmeta] ) * => $bitem: $bmode [ $( $bvar: $btyp ) ,* ] { } ]
188189 buf [ ]
@@ -223,7 +224,7 @@ macro_rules! quick_error {
223224 queue [ $( #[ $qmeta: meta] ) *
224225 => $qitem: ident: UNIT [ ] $( $queue: tt ) * ]
225226 ) => {
226- quick_error !( ENUM_DEFINITION [ $( $def) * ]
227+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
227228 body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
228229 $( #[ $qmeta] ) * => $qitem ( ) { } ]
229230 queue [ $( $queue) * ]
@@ -236,7 +237,7 @@ macro_rules! quick_error {
236237 queue [ $( #[ $qmeta: meta] ) *
237238 => $qitem: ident: TUPLE [ $( $qvar: ident: $qtyp: ty ) ,+] $( $queue: tt ) * ]
238239 ) => {
239- quick_error !( ENUM_DEFINITION [ $( $def) * ]
240+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
240241 body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
241242 $( #[ $qmeta] ) * => $qitem ( ( $( $qtyp ) ,* ) ) { } ]
242243 queue [ $( $queue) * ]
@@ -249,7 +250,7 @@ macro_rules! quick_error {
249250 queue [ $( #[ $qmeta: meta] ) *
250251 => $qitem: ident: STRUCT [ $( $qvar: ident: $qtyp: ty ) ,* ] $( $queue: tt ) * ]
251252 ) => {
252- quick_error !( ENUM_DEFINITION [ $( $def) * ]
253+ impl_error_chain_kind !( ENUM_DEFINITION [ $( $def) * ]
253254 body [ $( $( #[ $imeta] ) * => $iitem ( $( ( $( $ttyp ) ,+) ) * ) { $( { $( $svar: $styp ) ,* } ) * } ) *
254255 $( #[ $qmeta] ) * => $qitem ( ) { { $( $qvar: $qtyp ) ,* } } ]
255256 queue [ $( $queue) * ]
@@ -268,10 +269,10 @@ macro_rules! quick_error {
268269 match * self {
269270 $(
270271 $( #[ $imeta] ) *
271- quick_error !( ITEM_PATTERN
272+ impl_error_chain_kind !( ITEM_PATTERN
272273 $name $item: $imode [ $( ref $var ) ,* ]
273274 ) => {
274- let display_fn = quick_error !( FIND_DISPLAY_IMPL
275+ let display_fn = impl_error_chain_kind !( FIND_DISPLAY_IMPL
275276 $name $item: $imode
276277 { $( $funcs ) * } ) ;
277278
@@ -286,10 +287,10 @@ macro_rules! quick_error {
286287 fn description(&self) -> &str {
287288 match *self {
288289 $(
289- quick_error !(ITEM_PATTERN
290+ impl_error_chain_kind !(ITEM_PATTERN
290291 $name $item: $imode [$( ref $var ),*]
291292 ) => {
292- quick_error !(FIND_DESCRIPTION_IMPL
293+ impl_error_chain_kind !(FIND_DESCRIPTION_IMPL
293294 $item: $imode self fmt [$( $var ),*]
294295 {$( $funcs )*})
295296 }
@@ -299,10 +300,10 @@ macro_rules! quick_error {
299300 fn cause(&self) -> Option<&::std::error::Error> {
300301 match *self {
301302 $(
302- quick_error !(ITEM_PATTERN
303+ impl_error_chain_kind !(ITEM_PATTERN
303304 $name $item: $imode [$( ref $var ),*]
304305 ) => {
305- quick_error !(FIND_CAUSE_IMPL
306+ impl_error_chain_kind !(FIND_CAUSE_IMPL
306307 $item: $imode [$( $var ),*]
307308 {$( $funcs )*})
308309 }
@@ -317,10 +318,10 @@ macro_rules! quick_error {
317318 match * self {
318319 $(
319320 $( #[ $imeta] ) *
320- quick_error !( ITEM_PATTERN
321+ impl_error_chain_kind !( ITEM_PATTERN
321322 $name $item: $imode [ $( ref $var ) ,* ]
322323 ) => {
323- quick_error !( FIND_DESCRIPTION_IMPL
324+ impl_error_chain_kind !( FIND_DESCRIPTION_IMPL
324325 $item: $imode self fmt [ $( $var ) ,* ]
325326 { $( $funcs ) * } )
326327 }
@@ -329,15 +330,15 @@ macro_rules! quick_error {
329330 }
330331 }
331332 $(
332- quick_error !( FIND_FROM_IMPL
333+ impl_error_chain_kind !( FIND_FROM_IMPL
333334 $name $item: $imode [ $( $var: $typ ) ,* ]
334335 { $( $funcs ) * } ) ;
335336 ) *
336337 } ;
337338 ( FIND_DISPLAY_IMPL $name: ident $item: ident: $imode: tt
338339 { display( $self_: tt) -> ( $( $exprs: tt ) * ) $( $tail: tt ) * }
339340 ) => {
340- |quick_error !( IDENT $self_) : & $name, f: & mut :: std:: fmt:: Formatter | {
341+ |impl_error_chain_kind !( IDENT $self_) : & $name, f: & mut :: std:: fmt:: Formatter | {
341342 write!( f, $( $exprs ) * )
342343 }
343344 } ;
@@ -354,7 +355,7 @@ macro_rules! quick_error {
354355 ( FIND_DISPLAY_IMPL $name: ident $item: ident: $imode: tt
355356 { $t: tt $( $tail: tt ) * }
356357 ) => {
357- quick_error !( FIND_DISPLAY_IMPL
358+ impl_error_chain_kind !( FIND_DISPLAY_IMPL
358359 $name $item: $imode
359360 { $( $tail ) * } )
360361 } ;
@@ -375,7 +376,7 @@ macro_rules! quick_error {
375376 [ $( $var: ident ) ,* ]
376377 { $t: tt $( $tail: tt ) * }
377378 ) => {
378- quick_error !( FIND_DESCRIPTION_IMPL
379+ impl_error_chain_kind !( FIND_DESCRIPTION_IMPL
379380 $item: $imode $me $fmt [ $( $var ) ,* ]
380381 { $( $tail ) * } )
381382 } ;
@@ -395,7 +396,7 @@ macro_rules! quick_error {
395396 [ $( $var: ident ) ,* ]
396397 { $t: tt $( $tail: tt ) * }
397398 ) => {
398- quick_error !( FIND_CAUSE_IMPL
399+ impl_error_chain_kind !( FIND_CAUSE_IMPL
399400 $item: $imode [ $( $var ) ,* ]
400401 { $( $tail) * } )
401402 } ;
@@ -416,7 +417,7 @@ macro_rules! quick_error {
416417 }
417418 }
418419 ) *
419- quick_error !( FIND_FROM_IMPL
420+ impl_error_chain_kind !( FIND_FROM_IMPL
420421 $name $item: $imode [ $( $var: $typ ) ,* ]
421422 { $( $tail ) * } ) ;
422423 } ;
@@ -429,7 +430,7 @@ macro_rules! quick_error {
429430 $name:: $item
430431 }
431432 }
432- quick_error !( FIND_FROM_IMPL
433+ impl_error_chain_kind !( FIND_FROM_IMPL
433434 $name $item: UNIT [ ]
434435 { $( $tail ) * } ) ;
435436 } ;
@@ -442,7 +443,7 @@ macro_rules! quick_error {
442443 $name:: $item( $( $texpr ) ,* )
443444 }
444445 }
445- quick_error !( FIND_FROM_IMPL
446+ impl_error_chain_kind !( FIND_FROM_IMPL
446447 $name $item: TUPLE [ $( $var: $typ ) ,* ]
447448 { $( $tail) * } ) ;
448449 } ;
@@ -457,15 +458,15 @@ macro_rules! quick_error {
457458 }
458459 }
459460 }
460- quick_error !( FIND_FROM_IMPL
461+ impl_error_chain_kind !( FIND_FROM_IMPL
461462 $name $item: STRUCT [ $( $var: $typ ) ,* ]
462463 { $( $tail) * } ) ;
463464 } ;
464465 ( FIND_FROM_IMPL $name: ident $item: ident: $imode: tt
465466 [ $( $var: ident: $typ: ty ) ,* ]
466467 { $t: tt $( $tail: tt ) * }
467468 ) => {
468- quick_error !( FIND_FROM_IMPL
469+ impl_error_chain_kind !( FIND_FROM_IMPL
469470 $name $item: $imode [ $( $var: $typ ) ,* ]
470471 { $( $tail ) * }
471472 ) ;
@@ -506,28 +507,28 @@ macro_rules! quick_error {
506507 // This is to contrast FIND_* clauses which just find stuff they need and
507508 // skip everything else completely
508509 ( 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) * ) ; } ;
510511 ( 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) * ) ; } ;
512513 ( 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) * ) ; } ;
514515 ( 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) * ) ; } ;
516517 ( 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) * ) ; } ;
518519 ( 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) * ) ; } ;
520521 ( 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) * ) ; } ;
522523 ( 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) * ) ; } ;
524525 ( 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) * ) ; } ;
526527 ( ERROR_CHECK $imode: tt ) => { } ;
527528 ( ERROR_CHECK_COMMA $imode: tt , $( $tail: tt ) * )
528- => { quick_error !( ERROR_CHECK $imode $( $tail) * ) ; } ;
529+ => { impl_error_chain_kind !( ERROR_CHECK $imode $( $tail) * ) ; } ;
529530 ( ERROR_CHECK_COMMA $imode: tt $( $tail: tt ) * )
530- => { quick_error !( ERROR_CHECK $imode $( $tail) * ) ; } ;
531+ => { impl_error_chain_kind !( ERROR_CHECK $imode $( $tail) * ) ; } ;
531532 // Utility functions
532533 ( IDENT $ident: ident) => { $ident }
533534}
0 commit comments