Rust also has 'union' types [1] that work similar to the union types in C, C++.
Recently there has also been a lot of discussion [2] about possibly adding anonymous enums to the language, and whether these should have sum or union semantics.
[1]https://doc.rust-lang.org/reference/items/unions.html
[2]https://internals.rust-lang.org/t/ideas-around-anonymous-enu...