From 746a359cca82ad461624e9050e7091ad39d7c06a Mon Sep 17 00:00:00 2001 From: Joshua Liebow-Feeser Date: Mon, 28 Aug 2023 15:48:44 -0700 Subject: [PATCH] Update type-layout.md --- src/type-layout.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/type-layout.md b/src/type-layout.md index ac4830fa9..4c87954f3 100644 --- a/src/type-layout.md +++ b/src/type-layout.md @@ -56,17 +56,6 @@ Most primitives are generally aligned to their size, although this is platform-specific behavior. In particular, on x86 u64 and f64 are only aligned to 32 bits. -For every primitive numeric type (`u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, -`i64`, `u128`, `i128`, `usize`, `isize`, `f32`, and `f64`), `T`, the bit validity -of `T` is equivalent to the bit validity of `[u8; size_of::()]`. An -uninitialized byte is not a valid `u8`. A byte at any offset in a reference or -pointer type may not be a valid `u8` (the semantics of transmuting a reference or -pointer to a non-pointer type is currently undecided). - -For `bool` and `char`, every byte is -guaranteed to be initialized (in other words, for every such type, `T`, -`transmute::()]>(...)` is always sound -- but the inverse is not). - ## Pointers and References Layout Pointers and references have the same layout. Mutability of the pointer or