diff --git a/src/other-reprs.md b/src/other-reprs.md index 2b5a430..fe06faf 100644 --- a/src/other-reprs.md +++ b/src/other-reprs.md @@ -91,7 +91,7 @@ manipulate its tag and fields. See [the RFC][really-tagged] for details. These `repr`s have no effect on a struct. -Adding an explicit `repr(u*)`, `repr(i*)`, or `repr(C)` to an enum suppresses the null-pointer optimization, like: +Adding an explicit `repr(u*)`, `repr(i*)`, or `repr(C)` to an enum with fields suppresses the null-pointer optimization, like: ```rust # use std::mem::size_of; @@ -110,6 +110,8 @@ assert_eq!(8, size_of::>()); assert_eq!(16, size_of::>()); ``` +This optimization still applies to fieldless enums with an explicit `repr(u*)`, `repr(i*)`, or `repr(C)`. + ## repr(packed) `repr(packed)` forces Rust to strip any padding, and only align the type to a