macro_rules! error_chain {
(
links {
$( $link_error_path:path, $link_kind_path:path, $link_variant:ident; ) *
}
foreign_links {
$( $foreign_link_error_path:path, $foreign_link_variant:ident,
$foreign_link_desc:expr; ) *
}
errors {
$( $error_chunks:tt ) *
}
) => { ... };
(
types {
}
links {
$( $link_error_path:path, $link_kind_path:path, $link_variant:ident; ) *
}
foreign_links {
$( $foreign_link_error_path:path, $foreign_link_variant:ident,
$foreign_link_desc:expr; ) *
}
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,
$foreign_link_desc:expr; ) *
}
errors {
$( $error_chunks:tt ) *
}
) => { ... };
}