zerror

Macro zerror 

Source
macro_rules! zerror {
    (@inner
     $(#[$doc:meta])*
     $error_name:ident
     [$($(#[$variant1_doc:meta])* $variant1_type:ident as $variant1_ctor:ident counter $counter1_name:path
         { $($(#[$field1_doc:meta])* $field1_name:ident : $field1_type:ty),* };)*]
     [$($(#[$variant2_doc:meta])* $variant2_type:ident from $(#[$from2_doc:meta])* $from2_type:ty as $variant2_ctor:ident counter $counter2_name:path;)*]
    ) => { ... };
    (@inner
     $(#[$doc:meta])*
     $error_name:ident
     [$($(#[$variant1_doc:meta])* $variant1_type:ident as $variant1_ctor:ident counter $counter1_name:path
         { $($(#[$field1_doc:meta])* $field1_name:ident : $field1_type:ty),* };)*]
     [$($(#[$variant2_doc:meta])* $variant2_type:ident from $(#[$from2_doc:meta])* $from2_type:ty as $variant2_ctor:ident counter $counter2_name:path;)*]
     $(#[$variant_doc:meta])* $variant_type:ident from $(#[$from_doc:meta])* $from_type:ty as $variant_ctor:ident counter $counter_name:path,
     $($tt:tt)*
    ) => { ... };
    (@inner
     $(#[$doc:meta])*
     $error_name:ident
     [$($(#[$variant1_doc:meta])* $variant1_type:ident as $variant1_ctor:ident counter $counter1_name:path
         { $($(#[$field1_doc:meta])* $field1_name:ident : $field1_type:ty),* };)*]
     [$($(#[$variant2_doc:meta])* $variant2_type:ident from $(#[$from2_doc:meta])* $from2_type:ty as $variant2_ctor:ident counter $counter2_name:path;)*]
     $(#[$variant_doc:meta])* $variant_type:ident from $(#[$from_doc:meta])* $from_type:ty as $variant_ctor:ident,
     $($tt:tt)*
    ) => { ... };
    (@inner
     $(#[$doc:meta])*
     $error_name:ident
     [$($(#[$variant1_doc:meta])* $variant1_type:ident as $variant1_ctor:ident counter $counter1_name:path
         { $($(#[$field1_doc:meta])* $field1_name:ident : $field1_type:ty),* };)*]
     [$($(#[$variant2_doc:meta])* $variant2_type:ident from $(#[$from2_doc:meta])* $from2_type:ty
         as $variant2_ctor:ident counter $counter2_name:path;)*]
     $(#[$variant_doc:meta])* $variant_type:ident as $variant_ctor:ident counter $counter_name:path
         { $($(#[$field_doc:meta])* $field_name:ident : $field_type:ty,)* },
     $($tt:tt)*
    ) => { ... };
    (@inner
     $(#[$doc:meta])*
     $error_name:ident
     [$($(#[$variant1_doc:meta])* $variant1_type:ident as $variant1_ctor:ident counter $counter1_name:path
         { $($(#[$field1_doc:meta])* $field1_name:ident : $field1_type:ty),* };)*]
     [$($(#[$variant2_doc:meta])* $variant2_type:ident from $(#[$from2_doc:meta])* $from2_type:ty
         as $variant2_ctor:ident counter $counter2_name:path;)*]
     $(#[$variant_doc:meta])* $variant_type:ident as $variant_ctor:ident
         { $($(#[$field_doc:meta])* $field_name:ident : $field_type:ty,)* },
     $($tt:tt)*
    ) => { ... };
    ($(#[$doc:meta])* $error_name:ident { $($tt:tt)* }) => { ... };
}