about summary refs log tree commit diff
path: root/src/doc
diff options
context:
space:
mode:
authorNiklas Fiekas <niklas.fiekas@backscattering.de>2019-01-31 21:24:23 +0100
committerNiklas Fiekas <niklas.fiekas@backscattering.de>2019-01-31 21:24:23 +0100
commit20b55b7e2cb345e92ed024f9fef46ca4a83cd0a0 (patch)
tree0caeb278c5b8f8d60b5e35256e68e00ae5ab37db /src/doc
parent73bf0703a70098cdeebfb29709f74f101ab3e6b1 (diff)
Clarify semantics of #[repr(align(x))] on enums
Diffstat (limited to 'src/doc')
-rw-r--r--src/doc/unstable-book/src/language-features/repr-align-enum.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/language-features/repr-align-enum.md b/src/doc/unstable-book/src/language-features/repr-align-enum.md
index 1fd9bd20f3f..415c6ebe8b4 100644
--- a/src/doc/unstable-book/src/language-features/repr-align-enum.md
+++ b/src/doc/unstable-book/src/language-features/repr-align-enum.md
@@ -24,3 +24,19 @@ fn main() {
     assert_eq!(std::mem::align_of::<Aligned>(), 8);
 }
 ```
+
+This is equivalent to using an aligned wrapper struct everywhere:
+
+```rust
+#[repr(align(8))]
+struct Aligned(Unaligned);
+
+enum Unaligned {
+    Foo,
+    Bar { value: u32 },
+}
+
+fn main() {
+    assert_eq!(std::mem::align_of::<Aligned>(), 8);
+}
+```