Enums

Named variants with match.

enum + match

In v0.2 enums are tag-only (no payloads on variants).

enum Status { Ok Err Pending }

fn main() {
    let s = Status.Ok
    let code = match s {
        Status.Ok => 0
        Status.Err => 1
        Status.Pending => 2
    }
    print(code)
}

Output

0