Skip to content

An interpreter for Rust's mid-level intermediate representation

License

Notifications You must be signed in to change notification settings

actuallyatoaster/miri

Repository files navigation

Miri

An experimental interpreter for Rust's mid-level intermediate representation (MIR). This project began as a part of my course work for an undergraduate research course at the University of Saskatchewan.

Download Rust nightly

I currently recommend that you install multirust and then use it to install the current rustc nightly version that works with Miri:

multirust update nightly-2016-04-11

Build

multirust run nightly-2016-04-11 cargo build

Run a test

multirust run nightly-2016-04-11 cargo run -- \
  --sysroot $HOME/.multirust/toolchains/nightly-2016-04-11 \
  test/filename.rs

If you are using rustup (the name of the multirust rewrite in Rust), the sysroot path will also include your build target (e.g. $HOME/.multirust/toolchains/nightly-2016-04-11-x86_64-apple-darwin). You can see the current toolchain's directory by running rustup which cargo (ignoring the trailing `/bin/cargo).

If you installed without using multirust or rustup, you'll need to adjust the command to run your cargo and set the sysroot to the directory where your Rust compiler is installed ($sysroot/bin/rustc should be a valid path).

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

About

An interpreter for Rust's mid-level intermediate representation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.3%
  • Other 0.7%