Some of these are **unsound**, which means they can lead
to Miri failing to detect cases of undefined behavior in a program.
-* `-Zmiri-allow-uninit-numbers` disables the check to ensure that number types (integer and float
- types) always hold initialized data. (They must still be initialized when any actual operation,
- such as arithmetic, is performed.) Using this flag is **unsound** and
- [deprecated](https://github.com/rust-lang/miri/issues/2187). This has no effect when
- `-Zmiri-disable-validation` is present.
-* `-Zmiri-allow-ptr-int-transmute` makes Miri more accepting of transmutation between pointers and
- integers via `mem::transmute` or union/pointer type punning. This has two effects: it disables the
- check against integers storing a pointer (i.e., data with provenance), thus allowing
- pointer-to-integer transmutation, and it treats integer-to-pointer transmutation as equivalent to
- a cast. Implies `-Zmiri-permissive-provenance`. Using this flag is **unsound** and
- [deprecated](https://github.com/rust-lang/miri/issues/2188).
* `-Zmiri-disable-abi-check` disables checking [function ABI]. Using this flag
is **unsound**.
* `-Zmiri-disable-alignment-check` disables checking pointer alignment, so you
happening and where in your code would be a good place to look for it.
Specifying this argument multiple times does not overwrite the previous
values, instead it appends its values to the list. Listing a tag multiple times has no effect.
+* `-Zmiri-track-weak-memory-loads` shows a backtrace when weak memory emulation returns an outdated
+ value from a load. This can help diagnose problems that disappear under
+ `-Zmiri-disable-weak-memory-emulation`.
[function ABI]: https://doc.rust-lang.org/reference/items/functions.html#extern-function-qualifier
Moreover, Miri recognizes some environment variables:
+* `MIRI_AUTO_OPS` indicates whether the automatic execution of rustfmt, clippy and rustup-toolchain
+ should be skipped. If it is set to any value, they are skipped. This is used for avoiding
+ infinite recursion in `./miri` and to allow automated IDE actions to avoid the auto ops.
* `MIRI_LOG`, `MIRI_BACKTRACE` control logging and backtrace printing during
Miri executions, also [see "Testing the Miri driver" in `CONTRIBUTING.md`][testing-miri].
* `MIRIFLAGS` (recognized by `cargo miri` and the test suite) defines extra
crate currently being compiled.
* `MIRI_VERBOSE` when set to any value tells the various `cargo-miri` phases to
perform verbose logging.
+* `MIRI_HOST_SYSROOT` is set by bootstrap to tell `cargo-miri` which sysroot to use for *host*
+ operations.
[testing-miri]: CONTRIBUTING.md#testing-the-miri-driver