macro_rules! error_chain {
(
types {
}
links {
$( $link_error_path:path, $link_kind_path:path, $link_variant:ident; ) *
}
foreign_links {
$( $foreign_link_error_path:path, $foreign_link_variant:ident; )*
}
errors {
$( $error_chunks:tt ) *
}
) => { ... };
(
types {
$error_name:ident, $error_kind_name:ident,
$chain_error_name:ident, $result_name:ident;
}
links {
$( $link_error_path:path, $link_kind_path:path, $link_variant:ident; ) *
}
foreign_links {
$( $foreign_link_error_path:path, $foreign_link_variant:ident; )*
}
errors {
$( $error_chunks:tt ) *
}
) => { ... };
(
$( types {
$(
$error_name:ident, $error_kind_name:ident,
$chain_error_name:ident, $result_name:ident;
) *
} ) *
$( links {
$( $link_error_path:path, $link_kind_path:path, $link_variant:ident; ) *
} ) *
$( foreign_links {
$( $foreign_link_error_path:path, $foreign_link_variant:ident; ) *
} ) *
$( errors {
$( $error_chunks:tt ) *
} ) *
) => { ... };
}