@@ -86,8 +86,8 @@ String slices are a UTF-8 representation of characters that have the same layout
8686
8787## Tuple Layout
8888
89- Tuples have the same layout guarantees a struct with the same fields laid out
90- according to the default struct representation.
89+ Tuples have the same layout guarantees as a struct with the same fields when
90+ laid out according to the default struct representation.
9191
9292The exception to this is the unit tuple (` () ` ), which is guaranteed as a
9393zero-sized type to have a size of 0 and an alignment of 1.
@@ -163,12 +163,12 @@ representation will not change the layout of `Inner`.
163163Nominal types without a ` repr ` attribute have the default representation.
164164Informally, this representation is also called the ` rust ` representation.
165165
166- There are very few data layout guarantees made by this representation. The only
167- guarantees are:
166+ The only data layout guarantees made by this representation are those required
167+ for soundness. They are:
168168
169169 1 . The fields of the struct are properly aligned.
170170 2 . The fields do not overlap.
171- 3 . The alignment of the struct is not less than the alignment of any of its
171+ 3 . The minimum alignment of the struct is at least the maximum alignment of its
172172 fields.
173173
174174Formally, the first guarantee means that the offset of any field in the struct
@@ -182,6 +182,8 @@ Be aware that the second guarantee does not imply that the fields have distinct
182182addresses: zero-sized types may have the same address as other fields in the
183183same struct.
184184
185+ There are no other guarantees of data layout made by this representation.
186+
185187### The ` C ` Representation
186188
187189The ` C ` representation is designed for dual purposes. One purpose is for
0 commit comments