mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-04-22 15:57:46 +02:00
Add speaker notes for unions.
This commit is contained in:
parent
d7fcf8216a
commit
47e28e87c0
@ -15,3 +15,14 @@ fn main() {
|
|||||||
println!("bool: {}", unsafe { u.b }); // Undefined behavior!
|
println!("bool: {}", unsafe { u.b }); // Undefined behavior!
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
Unions are very rarely needed in Rust as you can usually use an enum. They are occasionally needed
|
||||||
|
for interacting with C library APIs.
|
||||||
|
|
||||||
|
If you just want to reinterpret bytes as a different type, you probably want
|
||||||
|
[`std::mem::transmute`](https://doc.rust-lang.org/stable/std/mem/fn.transmute.html) or a safe
|
||||||
|
wrapper such as the [`zerocopy`](https://crates.io/crates/zerocopy) crate.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user