mention abstract machine earlier
authorRalf Jung <post@ralfj.de>
Mon, 15 Jul 2019 11:48:29 +0000 (13:48 +0200)
committerRalf Jung <post@ralfj.de>
Mon, 15 Jul 2019 11:48:29 +0000 (13:48 +0200)
personal/_posts/2019-07-14-uninit.md

index c5043ff1bf7925ba584fcfe0cd3092634c1e866a..5aa60df86ae56c1606d3e871db3c2e21f6341008 100644 (file)
@@ -54,7 +54,7 @@ However, if you [run the example](https://play.rust-lang.org/?version=stable&mod
 ## What *is* uninitialized memory?
 
 How is this possible?
 ## What *is* uninitialized memory?
 
 How is this possible?
-The answer is that every byte in memory cannot just have a value in `0..256` (this is Rust/Ruby syntax for a left-inclusive right-exclusive range), it can also be "uninitialized".
+The answer is that, in the "abstract machine" that is used to specify the behavior of our program,  every byte in memory cannot just have a value in `0..256` (this is Rust/Ruby syntax for a left-inclusive right-exclusive range), it can also be "uninitialized".
 Memory *remembers* if you initialized it.
 The `x` that is passed to `always_return_true` is *not* the 8-bit representation of some number, it is an uninitialized byte.
 Performing operations such as comparison on uninitialized bytes is undefined behavior.
 Memory *remembers* if you initialized it.
 The `x` that is passed to `always_return_true` is *not* the 8-bit representation of some number, it is an uninitialized byte.
 Performing operations such as comparison on uninitialized bytes is undefined behavior.