macro_rules! define_concrete_libfunc_hierarchy {
(pub enum $name:ident $(<
$generic_arg:ident : $generic_arg_first_req:ident $(+ $generic_arg_other_reqs:ident)*
>)? {
$($variant_name:ident ($variant:ty),)*
}) => { ... };
}
Expand description
Forms a concrete library function type from an enum of library calls. The new enum implements ConcreteLibfunc. All the variant types must also implement ConcreteLibfunc. Usage example:
ⓘ
define_concrete_libfunc_hierarchy! {
pub enum MyLibfunc {
LF0(Libfunc0),
LF1(Libfunc1),
}
}