Enumerated types - The Rust Reference (original) (raw)
Keyboard shortcuts
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
The Rust Reference
Enumerated types
An enumerated type is a nominal, heterogeneous disjoint union type, denoted by the name of an enum item. 1
An enum item declares both the type and a number of variants, each of which is independently named and has the syntax of a struct, tuple struct or unit-like struct.
New instances of an enum can be constructed with a struct expression.
Any enum value consumes as much memory as the largest variant for its corresponding enum type, as well as the size needed to store a discriminant.
Enum types cannot be denoted structurally as types, but must be denoted by named reference to an enum item.
- The
enumtype is analogous to adataconstructor declaration in Haskell, or a pick ADT in Limbo. ↩