3 [[slides](https://solson.me/miri-slides.pdf)]
4 [[report](https://solson.me/miri-report.pdf)]
6 An experimental interpreter for [Rust][rust]'s [mid-level intermediate
7 representation][mir] (MIR). This project began as part of my work for the
8 undergraduate research course at the [University of Saskatchewan][usask].
10 [![Build Status](https://travis-ci.org/tsion/miri.svg?branch=master)](https://travis-ci.org/tsion/miri)
12 ## Download Rust nightly
14 I currently recommend that you install [multirust][multirust] and then use it to
15 install the current rustc nightly version:
18 multirust update nightly
24 multirust run nightly cargo build
27 If Miri fails to build, it's likely because a change in the latest nightly
28 compiler broke it. You could try an older nightly with `multirust update
29 nightly-<date>` where `<date>` is a few days or weeks ago, e.g. `2016-05-20` for
30 May 20th. Otherwise, you could notify me in an issue or on IRC. Or, if you know
31 how to fix it, you could send a PR. :smile:
36 multirust run nightly cargo run -- \
37 --sysroot $HOME/.multirust/toolchains/nightly \
41 If you are using [rustup][rustup] (the name of the multirust rewrite in Rust),
42 the `sysroot` path will also include your build target (e.g.
43 `$HOME/.multirust/toolchains/nightly-x86_64-apple-darwin`). You can see the
44 current toolchain's directory by running `rustup which cargo` (ignoring the
45 trailing `/bin/cargo`).
47 If you installed without using multirust or rustup, you'll need to adjust the
48 command to run your cargo and set the `sysroot` to the directory where your
49 Rust compiler is installed (`$sysroot/bin/rustc` should be a valid path).
53 Licensed under either of
54 * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
55 http://www.apache.org/licenses/LICENSE-2.0)
56 * MIT license ([LICENSE-MIT](LICENSE-MIT) or
57 http://opensource.org/licenses/MIT) at your option.
61 Unless you explicitly state otherwise, any contribution intentionally submitted
62 for inclusion in the work by you shall be dual licensed as above, without any
63 additional terms or conditions.
65 [rust]: https://www.rust-lang.org/
66 [mir]: https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md
67 [usask]: https://www.usask.ca/
68 [multirust]: https://github.com/brson/multirust
69 [rustup]: https://www.rustup.rs