Skip to content

Commit

Permalink
Merge pull request #1430 from joshlf/patch-2
Browse files Browse the repository at this point in the history
type-layout.md: Warn about repr(align)/repr(packed) and field order
  • Loading branch information
ehuss authored Nov 22, 2023
2 parents 75d2d5d + a28f858 commit 01a12f2
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/type-layout.md
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,10 @@ assert_eq!(std::mem::size_of::<Enum16>(), 4);
The `align` and `packed` modifiers can be used to respectively raise or lower
the alignment of `struct`s and `union`s. `packed` may also alter the padding
between fields (although it will not alter the padding inside of any field).
On their own, `align` and `packed` do not provide guarantees about the order
of fields in the layout of a struct or the layout of an enum variant, although
they may be combined with representations (such as `C`) which do provide such
guarantees.

The alignment is specified as an integer parameter in the form of
`#[repr(align(x))]` or `#[repr(packed(x))]`. The alignment value must be a
Expand Down

0 comments on commit 01a12f2

Please sign in to comment.