macro_rules! lazy_extern {
(
libgroup $groupname:ident : $grouptype:ident;
$(lib $libname:ident = $libpath:expr;)*
$(
$(#[$($meta:tt)*])*
extern $abi:tt fn $fnname:ident($($argname:ident : $argty:ty),*) -> $retty:ty;
)*
) => { ... };
(
@process_fn_meta
$groupname:ident $grouptype:ident
$abi:tt $fnname:ident($($argname:ident : $argty:ty),*; $retty:ty);
$(; doc $doc:expr)*
) => { ... };
(
@process_fn_meta
$groupname:ident $grouptype:ident
$abi:tt $fnname:ident($($argname:ident : $argty:ty),*; $retty:ty);
#[doc = $meta:expr]
$(#[$($rest:tt)*])*
$(; doc $doc:expr)*
) => { ... };
(
@process_fn_meta
$groupname:ident $grouptype:ident
$abi:tt $fnname:ident($($argname:ident : $argty:ty),*; $retty:ty);
#[lib($libname:ident)]
$(#[$($rest:tt)*])*
$(; doc $doc:expr)*
) => { ... };
(
@process_fn_meta
$groupname:ident $grouptype:ident
$abi:tt $fnname:ident($($argname:ident : $argty:ty),*; $retty:ty);
#[feature_test($feature:ident)]
$(#[$($rest:tt)*])*
$(; doc $doc:expr)*
) => { ... };
}
Expand description
See the module documentation