Currently, we have a pretty good understanding of what the intended behavior of *safe* Rust is.
That is, there is general agreement (modulo some [bugs](https://github.com/rust-lang/rust/issues/27868)) about the order in which operations are to be performed, and about what each individual operation does.
Currently, we have a pretty good understanding of what the intended behavior of *safe* Rust is.
That is, there is general agreement (modulo some [bugs](https://github.com/rust-lang/rust/issues/27868)) about the order in which operations are to be performed, and about what each individual operation does.
Now, it turns out that it is often really hard to obtain precise aliasing information.
This could be the end of the game: No alias information, no way to verify our assumptions, no optimizations.
Now, it turns out that it is often really hard to obtain precise aliasing information.
This could be the end of the game: No alias information, no way to verify our assumptions, no optimizations.
Instead of having the compiler verify such assumptions, they declared the programmer responsible.
For example, the C standard says that memory accesses have to happen with the right "effective type": If data was stored with a `float` pointer, it must not be read with an `int` pointer.
Instead of having the compiler verify such assumptions, they declared the programmer responsible.
For example, the C standard says that memory accesses have to happen with the right "effective type": If data was stored with a `float` pointer, it must not be read with an `int` pointer.
It is with such considerations in my mind that I have previously written about [miri as an executable specification]({{ site.baseurl }}{% post_url 2017-06-06-MIR-semantics %}).
Coming up next on this channel: During my [internship]({{ site.baseurl }}{% post_url 2017-05-23-internship-starting %}), I am working on such a specification.
It is with such considerations in my mind that I have previously written about [miri as an executable specification]({{ site.baseurl }}{% post_url 2017-06-06-MIR-semantics %}).
Coming up next on this channel: During my [internship]({{ site.baseurl }}{% post_url 2017-05-23-internship-starting %}), I am working on such a specification.
-I have a draft ready now, and I will share it with the world to see what the world thinks about it.
+My ideas are concrete enough now that I can write down a draft, which I will share with the world to see what the world thinks about it.
+
+**Uodate:** [Writing down has happened]({{ site.baseurl }}{% post_url 2017-07-17-types-as-contracts %}).