pull/158/head
Ralf Jung 5 years ago committed by Alexis Beingessner
parent 01d11b8429
commit c113664204

@ -22,13 +22,14 @@ language cares about is preventing the following things:
* Breaking the [pointer aliasing rules][] * Breaking the [pointer aliasing rules][]
* Producing invalid primitive values (either alone or as a field of a compound * Producing invalid primitive values (either alone or as a field of a compound
type such as `enum`/`struct`/array/tuple): type such as `enum`/`struct`/array/tuple):
* dangling/null/unaligned references, references that do themselves point to
invalid values, or fat references (to a dynamically sized type) with
invalid metadata
* null `fn` pointers
* a `bool` that isn't 0 or 1 * a `bool` that isn't 0 or 1
* an undefined `enum` discriminant * an undefined `enum` discriminant
* null `fn` pointers
* a `char` outside the ranges [0x0, 0xD7FF] and [0xE000, 0x10FFFF] * a `char` outside the ranges [0x0, 0xD7FF] and [0xE000, 0x10FFFF]
* a `!` (all values are invalid for this type)
* dangling/null/unaligned references, references that do themselves point to
invalid values, or fat references (to a dynamically sized type) with
invalid metadata
* a non-utf8 `str` * a non-utf8 `str`
* an uninitialized integer (`i*`/`u*`) or floating point value (`f*`) * an uninitialized integer (`i*`/`u*`) or floating point value (`f*`)
* an invalid library type with custom invalid values, such as a `NonNull` or * an invalid library type with custom invalid values, such as a `NonNull` or

Loading…
Cancel
Save