From 2cbdb587d7ab780156d22732aafd869854baae19 Mon Sep 17 00:00:00 2001 From: Connor Horman Date: Tue, 10 Dec 2024 20:52:28 -0500 Subject: [PATCH] Fix "Line must not end with spaces" for the 3rd time this PR --- src/memory-model.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/memory-model.md b/src/memory-model.md index 4f7c9f1e1..4b4fb69da 100644 --- a/src/memory-model.md +++ b/src/memory-model.md @@ -35,7 +35,7 @@ r[memory.byte.uninit] r[memory.encoding] r[memory.encoding.intro] -Each type in Rust has 0 or more values, which can have operations performed on them. Values are represented in memory by encoding them +Each type in Rust has 0 or more values, which can have operations performed on them. Values are represented in memory by encoding them > [!NOTE] > `0u8`, `1337i16`, and `Foo{bar: "baz"}` are all values @@ -44,7 +44,7 @@ r[memory.encoding.op] Each type defines a pair of properties which, together, define the representation of values of the type. The *encode* operation takes a value of the type and converts it into a sequence of bytes equal in length to the size of the type, and the *decode* operation takes such a sequence of bytes and optionally converts it into a value. Encoding occurs when a value is written to memory, and decoding occurs when a value is read from memory. > [!NOTE] -> Only certain byte sequences may decode into a value of a given type. For example, a byte sequence consisting of all zeroes does not decode to a value of a reference type. +> Only certain byte sequences may decode into a value of a given type. For example, a byte sequence consisting of all zeroes does not decode to a value of a reference type. r[memory.encoding.representation] A sequence of bytes is said to represent a value of a type, if the decode operation for that type produces that value from that sequence of bytes. The representation of a type is the partial relation between byte sequences and values those sequences represent. @@ -56,11 +56,11 @@ r[memory.encoding.symmetric] The result of encoding a given value of a type is a sequence of bytes that represents that value. > [!NOTE] -> This means that a value can be copied into memory and copied out and the result is the same value. +> This means that a value can be copied into memory and copied out and the result is the same value. > The reverse is not necessarily true, a sequence of bytes read as a value then written to another location (called a typed copy) will not necessarily yield the same sequence of bytes. For example, a typed copy of a struct type will leave the padding bytes of that struct uninitialized. r[memory.encoding.decode] -If a value of type `T` is decoded from a sequence of bytes that does not represent any value, the behavior is undefined. +If a value of type `T` is decoded from a sequence of bytes that does not represent any value, the behavior is undefined. > [!NOTE] -> For example, it is undefined behavior to read a `0x02` byte as `bool`. +> For example, it is undefined behavior to read a `0x02` byte as `bool`.