Union types
A union type is a nominal, heterogeneous C-like union, denoted by the name of
a union
item.
A union contains the value of any one of its fields. Since the accessing the
wrong field can cause unexpected or undefined behaviour, unsafe
is required
to read from a union field or to write to a field that doesn't implement
Copy
.
The memory layout of a union
is undefined by default, but the #[repr(...)]
attribute can be used to fix a layout.