@@ -15,7 +15,7 @@ for example:
15
15
or an invalid enum discriminant)
16
16
* ** Experimental** : Violations of the [ Stacked Borrows] rules governing aliasing
17
17
for reference types
18
- * ** Experimental** : Violations of the Tree Borrows aliasing rules, as an optional
18
+ * ** Experimental** : Violations of the [ Tree Borrows] aliasing rules, as an optional
19
19
alternative to [ Stacked Borrows]
20
20
* ** Experimental** : Data races
21
21
@@ -79,6 +79,7 @@ behavior** in your program, and cannot run all programs:
79
79
[ `unreachable_unchecked` ] : https://doc.rust-lang.org/stable/std/hint/fn.unreachable_unchecked.html
80
80
[ `copy_nonoverlapping` ] : https://doc.rust-lang.org/stable/std/ptr/fn.copy_nonoverlapping.html
81
81
[ Stacked Borrows ] : https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md
82
+ [ Tree Borrows ] : https://perso.crans.org/vanille/treebor/
82
83
83
84
84
85
## Using Miri
@@ -359,7 +360,7 @@ to Miri failing to detect cases of undefined behavior in a program.
359
360
* `-Zmiri-disable-data-race-detector` disables checking for data races. Using
360
361
this flag is **unsound**. This implies `-Zmiri-disable-weak-memory-emulation`.
361
362
* `-Zmiri-disable-stacked-borrows` disables checking the experimental
362
- aliasing rules to track borrows ([Stacked Borrows] and Tree Borrows).
363
+ aliasing rules to track borrows ([Stacked Borrows] and [ Tree Borrows] ).
363
364
This can make Miri run faster, but it also means no aliasing violations will
364
365
be detected. Using this flag is **unsound** (but the affected soundness rules
365
366
are experimental). Later flags take precedence : borrow tracking can be reactivated
@@ -425,7 +426,7 @@ to Miri failing to detect cases of undefined behavior in a program.
425
426
* `-Zmiri-track-weak-memory-loads` shows a backtrace when weak memory emulation returns an outdated
426
427
value from a load. This can help diagnose problems that disappear under
427
428
` -Zmiri-disable-weak-memory-emulation` .
428
- * `-Zmiri-tree-borrows` replaces [Stacked Borrows] with the Tree Borrows rules.
429
+ * `-Zmiri-tree-borrows` replaces [Stacked Borrows] with the [ Tree Borrows] rules.
429
430
The soundness rules are already experimental without this flag, but even more
430
431
so with this flag.
431
432
* `-Zmiri-force-page-size=<num>` overrides the default page size for an architecture, in multiples of 1k.
@@ -442,7 +443,7 @@ Some native rustc `-Z` flags are also very relevant for Miri:
442
443
functions. This is needed so that Miri can execute such functions, so Miri
443
444
sets this flag per default.
444
445
* `-Zmir-emit-retag` controls whether `Retag` statements are emitted. Miri
445
- enables this per default because it is needed for [Stacked Borrows] and Tree Borrows.
446
+ enables this per default because it is needed for [Stacked Borrows] and [ Tree Borrows] .
446
447
447
448
Moreover, Miri recognizes some environment variables :
448
449
0 commit comments