File tree 2 files changed +15
-0
lines changed
2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change 11
11
- [ Function pointers] ( ./layout/function-pointers.md )
12
12
- [ Arrays and Slices] ( ./layout/arrays-and-slices.md )
13
13
- [ Packed SIMD vectors] ( ./layout/packed-simd-vectors.md )
14
+ - [ Validity] ( ./validity.md )
15
+ - [ Unions] ( ./validity/unions.md )
14
16
- [ Optimizations] ( ./optimizations.md )
15
17
- [ Return value optimization] ( ./optimizations/return_value_optimization.md )
Original file line number Diff line number Diff line change
1
+ # Validity of unions
2
+
3
+ ** Disclaimer** : This chapter is a work-in-progress. What's contained here
4
+ represents the consensus from issue [ #73 ] . The statements in here are not (yet)
5
+ "guaranteed" not to change until an RFC ratifies them.
6
+
7
+ ## Validity of unions with zero-sized fields
8
+
9
+ A union containing a zero-sized field can contain any bit pattern. An example of such
10
+ an union is [ ` MaybeUninit ` ] .
11
+
12
+ [ #73 ] : https://github.com/rust-lang/unsafe-code-guidelines/issues/73
13
+ [ `MaybeUninit` ] : https://doc.rust-lang.org/std/mem/union.MaybeUninit.html
You can’t perform that action at this time.
0 commit comments