File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,14 @@ and are at least one word.
31
31
32
32
The layouts of ` &T ` , ` &mut T ` and ` *T ` are the same.
33
33
34
+ If ` T ` is sized, references and pointers to ` T ` have a size and alignment of one
35
+ word and have therefore the same layout as C pointers.
36
+
37
+ > ** warning** : while the layout of references and pointers is compatible with
38
+ > the layout of C pointers, references come with a _ validity_ invariant that
39
+ > does not allow them to be used when they could be ` NULL ` , unaligned, dangling,
40
+ > or, in the case of ` &mut T ` , aliasing.
41
+
34
42
We do not make any guarantees about the layout of
35
43
multi-trait objects ` &(dyn T + U) ` or references to other dynamically sized types,
36
44
other than that they are at least word-aligned, and have size at least one word.
You can’t perform that action at this time.
0 commit comments