Skip to content

Commit 17611a1

Browse files
committed
add NonNullU8
1 parent 3785d4c commit 17611a1

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

wip/value-domain.md

+5
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ Certainly, a value `Int(i)` where `i` in `0..256` is related to `[b]` if `b.as_i
8787
And then, maybe, we also want to additionally say that value `Uninit` is related to byte list `[Uninit]`.
8888
This essentially corresponds to saying that uninitialized memory is a valid representation of a `u8` value (namely, the uninitialized value).
8989

90+
### `NonNullU8`
91+
92+
`NonNullU8` is basically the same as `u8` except that we remove the 0, and certainly do not consider `Uninit` a valid value.
93+
A value `Int(i)` where `i` in `1..256` is related to `[b]` if `b.as_int() == Some(i)`, and that's it.
94+
9095
### `union`
9196

9297
The `union` type does not even try to interpret memory, so for a `union` of size `n`, the value relation says that for any byte list `bytes` of that length, `RawBag(bytes)` is related to `bytes`.

0 commit comments

Comments
 (0)