diff --git a/README.md b/README.md index 02e13ad56a..5a615e656d 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ example above), overriding it in your project directory as well, or use `rustup default nightly` (or `rustup default nightly-YYYY-MM-DD`) to globally make `nightly` the default toolchain. -Now you can run your project in miri: +Now you can run your project in Miri: 1. Run `cargo clean` to eliminate any cached dependencies. Miri needs your dependencies to be compiled the right way, that would not happen if they have @@ -48,6 +48,19 @@ Now you can run your project in miri: 3. If you have a binary project, you can run it through Miri using `cargo +nightly miri run`. +When running code via `cargo miri`, the `cargo-miri` feature is set. You can +use this to exclude test cases that will fail under Miri because they do things +Miri does not support: + +```rust +#[cfg(not(feature = "cargo-miri"))] +#[test] +fn does_not_work_on_miri() { + let x = 0u8; + assert!(&x as *const _ as usize % 4 < 4); +} +``` + ### Common Problems When using the above instructions, you may encounter a number of confusing compiler