X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/8dbebaf11c31aa0d6b08195bc37c7115c7a5912b..refs/heads/master:/ralf/_posts/2019-03-26-miri-as-rustup-component.md?ds=sidebyside diff --git a/ralf/_posts/2019-03-26-miri-as-rustup-component.md b/ralf/_posts/2019-03-26-miri-as-rustup-component.md deleted file mode 100644 index a1ffe4f..0000000 --- a/ralf/_posts/2019-03-26-miri-as-rustup-component.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Miri available as rustup component" -categories: rust ---- - -Running your unsafe code test suite in Miri has just gotten even easier: Miri is now available as a `rustup` component! -Huge thanks to @oli-obk and @mati865 who made this happen. - -Miri can run your test suite in a very slow, interpreted mode that enables it to test for undefined behavior: if an out-of-bounds array access happens, uninitialized memory gets used the wrong way or a dangling raw pointer gets dereferenced, Miri will notice and tell you. -However, Miri cannot execute all programs, and it also cannot detect all forms of misbehavior. -For further information, please check out [Miri's README](https://github.com/rust-lang/miri#readme). - - - -Installation (only on nightly toolchains) is now as simple as -``` -rustup component add miri -``` -After installing Miri, you can run your crate's test suite in it with `cargo miri test`. -I suggest you do `cargo clean` first because Miri needs to build its own standard library, and rustc can get confused when crates built with different standard libraries get mixed. -If you have `#[should_panic]` tests, try `cargo miri test -- -- -Zunstable-options --exclude-should-panic` because Miri currently aborts execution on a panic. - -There's a lot of work left to be done, in particular to enable more programs to execute in Miri. -Still, slowly but steadily, my [vision]({% post_url 2017-05-23-internship-starting %}) of Miri as a practical tool to test for undefined behavior is actually becoming reality: [the standard library](https://github.com/RalfJung/miri-test-libstd) and [hashbrown](https://github.com/Amanieu/hashbrown/) have their test suites running in Miri under CI. -I cannot express how glad it makes me to be able to contribute to the Rust ecosystem becoming a bit safer. - -Maybe your crate is next?