Enums
enum defines a nominal sum type with a fixed set of variants.
Currently, enums support:
- unit variants (
E::A), - tuple variants (
E::B(x)), - exhaustive
matchexpressions over enum values (restricted subset; no guards), - and statement-form ordinary enum
matchwith qualified variant arms.
Full reference: enums.
Notes#
- Supported forms + representation: enums
Syntax#
enum Msg {
Quit,
Add(int),
}
Examples#
Example: construct + match#
enum Msg {
Quit,
Add(int),
}
fn main () -> int {
let m: Msg = Msg::Add(5);
return match m {
Msg::Quit => 0,
Msg::Add(n) => n,
};
}
See also#
- Full reference: enums
matchexpressions: flow match
Source repository · Edit this page · View Markdown