#root::derive

Enum root/derive.vi:86

trait Enum[Enum, Variants];

name root/derive.vi:87

const Enum::name[Enum, Variants; Enum[Enum, Variants]]: String;

variant_names root/derive.vi:88

const Enum::variant_names[Enum, Variants; Enum[Enum, Variants]]: List[String];

match_ root/derive.vi:89

fn Enum::match_[Enum, Variants, F, T; Enum[Enum, Variants], Fn[F, (Variants,), T]](enum_: Enum, f: F) -> T;

reconstruct root/derive.vi:90

fn Enum::reconstruct[Enum, Variants; Enum[Enum, Variants]](variant: Variants) -> Enum;

match_ref root/derive.vi:94

fn match_ref[E, V, F, T; Enum[E, V], Fn[F, (&V,), T]](enum_: &E, f: F) -> T;