Skip to content

Commit

Permalink
Fix "Line must not end with spaces" for the 3rd time this PR
Browse files Browse the repository at this point in the history
  • Loading branch information
chorman0773 committed Dec 11, 2024
1 parent 0823313 commit 2cbdb58
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/memory-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand All @@ -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`.

0 comments on commit 2cbdb58

Please sign in to comment.