macro_rules! define_type_hierarchy { (pub enum $name:ident { $($variant_name:ident ($variant:ty),)* }, $concrete_name:ident) => { ... }; }
Expand description
Forms a Sierra type used by extensions type from an enum of such types. The new enum implements GenericType. All the variant types must also implement GenericType. Usage example:
ⓘ
define_type_hierarchy! {
pub enum MyType {
Ty0(Type0),
Ty1(Type1),
}, MyTypeConcrete
}