Union types
A union type is a nominal, heterogeneous C-like union, denoted by the name of a union
item.
Unions have no notion of an "active field". Instead, every union access transmutes parts of the content of the union to the type of the accessed field. Since transmutes 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
or has a ManuallyDrop
type. See the item documentation for further details.
The memory layout of a union
is undefined by default, but the #[repr(...)]
attribute can be used to fix a layout.
© 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/union.html