* Miri runs the program as a platform-independent interpreter, so the program
has no access to most platform-specific APIs or FFI. A few APIs have been
implemented (such as printing to stdout) but most have not: for example, Miri
- currently does not support concurrency, or SIMD, or networking.
+ currently does not support SIMD or networking.
+* Miri currently does not check for data-races and other concurrency related
+ issues.
[rust]: https://www.rust-lang.org/
[mir]: https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md
echo "Installing latest nightly with Miri: $MIRI_NIGHTLY"
rustup set profile minimal
rustup default "$MIRI_NIGHTLY"
-
rustup component add miri
-cargo miri setup
cargo miri test
```
-We use `cargo miri setup` to avoid getting interactive questions about the extra
-setup needed for Miri.
-
### Common Problems
When using the above instructions, you may encounter a number of confusing compiler
* [Aliasing mutable references in `sized-chunks`](https://github.com/bodil/sized-chunks/issues/8)
* [`String::push_str` invalidating existing references into the string](https://github.com/rust-lang/rust/issues/70301)
* [`ryu` using raw pointers outside their valid memory area](https://github.com/dtolnay/ryu/issues/24)
+* [ink! creating overlapping mutable references](https://github.com/rust-lang/miri/issues/1364)
## License