diff --git a/src/type-layout.md b/src/type-layout.md index 900c6d4ac2ac3..f6c9ca77eb140 100644 --- a/src/type-layout.md +++ b/src/type-layout.md @@ -332,9 +332,10 @@ Like all ways to create undefined behavior in safe Rust, this is a bug. ### The `transparent` Representation -The `transparent` representation can only be used on `struct`s that have a -single non-zero sized field and any number of zero-sized fields, including -[`PhantomData`]. +The `transparent` representation can only be used on `struct`s that have: + +- a single field with non-zero size, and +- any number of fields with size 0 and alignment 1 (e.g. [`PhantomData`]). Structs with this representation have the same layout and ABI as the single non-zero sized field.