quick_error::quick_error!
[−]
[src]
macro_rules! quick_error { ( $(#[$meta:meta])* pub enum $name:ident { $($chunks:tt)* } ) => { ... }; ( $(#[$meta:meta])* enum $name:ident { $($chunks:tt)* } ) => { ... }; (SORT [enum $name:ident $(#[$meta:meta])* ] enum [ $( $(#[$emeta:meta])* => $eitem:ident $( ( $($etyp:ty),* ) )* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ ] queue [ ] ) => { ... }; (SORT [pub enum $name:ident $(#[$meta:meta])* ] enum [ $( $(#[$emeta:meta])* => $eitem:ident $( ( $($etyp:ty),* ) )* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ ] queue [ ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* ] queue [ #[$qmeta:meta] $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* ] queue [ $qitem:ident $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* => $bitem:ident $(( $($bvar:ident : $btyp:ty),* ))* ] queue [ #[$qmeta:meta] $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* => $bitem:ident ] queue [ ( $( $qvar:ident : $qtyp:ty ),* ) $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* => $bitem:ident $(( $($bvar:ident : $btyp:ty),* ))* ] queue [ { $($qfuncs:tt)* } $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* => $bitem:ident $(( $($bvar:ident : $btyp:ty),* ))* ] queue [ $qitem:ident $($tail:tt)* ] ) => { ... }; (SORT [$($def:tt)*] enum [ $( $(#[$emeta:meta])* => $eitem:ident $(( $($etyp:ty),* ))* )* ] items [ $( $iitem:ident $(( $($ivar:ident : $ityp:ty),* ))* { $($ifuncs:tt)* } )* ] buf [ $( #[$bmeta:meta] )* => $bitem:ident $(( $($bvar:ident : $btyp:ty),* ))* ] queue [ ] ) => { ... }; (IMPLEMENTATIONS $name:ident { $( $item:ident $( ( $($var:ident : $typ:ty),* ) )* { $($funcs:tt)* } )* } ) => { ... }; (FIND_DISPLAY_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { display($($exprs:expr),*) $($tail:tt)* } ) => { ... }; (FIND_DISPLAY_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { $t:tt $($tail:tt)* } ) => { ... }; (FIND_DISPLAY_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { } ) => { ... }; (FIND_DESCRIPTION_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { description($expr:expr) $($tail:tt)* } ) => { ... }; (FIND_DESCRIPTION_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { $t:tt $($tail:tt)* } ) => { ... }; (FIND_DESCRIPTION_IMPL $item:ident $me:ident $fmt:ident [ $( ( $($var:ident)* ) )* ] { } ) => { ... }; (FIND_CAUSE_IMPL $item:ident [ $( ( $($var:ident)* ) )* ] { cause($expr:expr) $($tail:tt)* } ) => { ... }; (FIND_CAUSE_IMPL $item:ident [ $( ( $($var:ident)* ) )* ] { $t:tt $($tail:tt)* } ) => { ... }; (FIND_CAUSE_IMPL $item:ident [ $( ( $($var:ident)* ) )* ] { } ) => { ... }; (FIND_FROM_IMPL $name:ident $item:ident [ $( ( $($var:ident : $typ:ty)* ) )* ] { from() $($tail:tt)* } ) => { ... }; (FIND_FROM_IMPL $name:ident $item:ident [ ] { from($ftyp:ty) $($tail:tt)* } ) => { ... }; (FIND_FROM_IMPL $name:ident $item:ident [ $( ( $($var:ident : $typ:ty)* ) )* ] { from($fvar:ident : $ftyp:ty) -> ($($expr:expr),*) $($tail:tt)* } ) => { ... }; (FIND_FROM_IMPL $name:ident $item:ident [ $( ( $($var:ident : $typ:ty)* ) )* ] { $t:tt $($tail:tt)* } ) => { ... }; (FIND_FROM_IMPL $name:ident $item:ident [ $( ( $($var:ident : $typ:ty)* ) )* ] { } ) => { ... }; (ERROR_CHECK display($($exprs:expr),*) $($tail:tt)*) => { ... }; (ERROR_CHECK description($expr:expr) $($tail:tt)*) => { ... }; (ERROR_CHECK cause($expr:expr) $($tail:tt)*) => { ... }; (ERROR_CHECK from() $($tail:tt)*) => { ... }; (ERROR_CHECK from($ftyp:ty) $($tail:tt)*) => { ... }; (ERROR_CHECK from($fvar:ident : $ftyp:ty) -> ($($e:expr),*) $($tail:tt)*) => { ... }; (ERROR_CHECK) => { ... }; }
Main macro that does all the work