diff options
| author | Ralf Jung <post@ralfj.de> | 2024-06-24 10:54:26 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2024-06-24 14:35:08 +0200 |
| commit | ba61c8f2a6ee3e874c1745d1471a16f4a1616290 (patch) | |
| tree | 90981ea461f3199198eba469b3494ef11b4cf8c0 | |
| parent | 0f114ec41d5f1c5c4d2d77767014f0946c3f3cd5 (diff) | |
| download | rust-ba61c8f2a6ee3e874c1745d1471a16f4a1616290.tar.gz rust-ba61c8f2a6ee3e874c1745d1471a16f4a1616290.zip | |
clarify the status of Tree Borrows
| -rw-r--r-- | src/tools/miri/README.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tools/miri/README.md b/src/tools/miri/README.md index 4b4f2f83062..87b437a3080 100644 --- a/src/tools/miri/README.md +++ b/src/tools/miri/README.md @@ -425,8 +425,12 @@ to Miri failing to detect cases of undefined behavior in a program. value from a load. This can help diagnose problems that disappear under `-Zmiri-disable-weak-memory-emulation`. * `-Zmiri-tree-borrows` replaces [Stacked Borrows] with the [Tree Borrows] rules. - The soundness rules are already experimental without this flag, but even more - so with this flag. + Tree Borrows is even more experimental than Stacked Borrows. While Tree Borrows + is still sound in the sense of catching all aliasing violations that current versions + of the compiler might exploit, it is likely that the eventual final aliasing model + of Rust will be stricter than Tree Borrows. In other words, if you use Tree Borrows, + even if your code is accepted today, it might be declared UB in the future. + This is much less likely with Stacked Borrows. * `-Zmiri-force-page-size=<num>` overrides the default page size for an architecture, in multiples of 1k. `4` is default for most targets. This value should always be a power of 2 and nonzero. * `-Zmiri-unique-is-unique` performs additional aliasing checks for `core::ptr::Unique` to ensure |
