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 in an enumeration variant 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 enum
type is analogous to a data
constructor declaration in ML, or a pick ADT in Limbo.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/reference/types/enum.html