quick_error::quick_error!
[−]
[src]
macro_rules! quick_error { (// public with docstring $(#[$meta:meta])* pub enum $name:ident { $( #[doc=$doc:expr] $item:ident $( ( $($var:ident : $typ:ty),* ) )* { $($funcs:tt)* } )* } ) => { ... }; (// private with docstring $(#[$meta:meta])* enum $name:ident { $( #[doc=$doc:expr] $item:ident $( ( $($var:ident : $typ:ty),* ) )* { $($funcs:tt)* } )* } ) => { ... }; (// public no meta $(#[$meta:meta])* pub enum $name:ident { $( $item:ident $( ( $($var:ident : $typ:ty),* ) )* { $($funcs:tt)* } )* } ) => { ... }; (// private no meta $(#[$meta:meta])* enum $name:ident { $( $item:ident $( ( $($var:ident : $typ:ty),* ) )* { $($funcs:tt)* } )* } ) => { ... }; (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