diff options
| author | bors <bors@rust-lang.org> | 2024-07-04 10:31:24 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-07-04 10:31:24 +0000 |
| commit | a3460e23ea42a83b48eb60d61586a8bb22e09290 (patch) | |
| tree | 9765dec74a1e59a8c6628aa7a965039ff2685a01 /compiler/rustc_codegen_llvm | |
| parent | 4a4a81aec43d87abc962cb288af104531086afe8 (diff) | |
| parent | 02bec40930d7256d290c6a61b60df8284e460dda (diff) | |
| download | rust-a3460e23ea42a83b48eb60d61586a8bb22e09290.tar.gz rust-a3460e23ea42a83b48eb60d61586a8bb22e09290.zip | |
Auto merge of #3732 - JoJoDeveloping:tree-borrows-protector-end-write, r=RalfJung
TB: Refine protector end semantics Tree Borrows has protector end tag semantics, namely that protectors ending cause a [special implicit read](https://perso.crans.org/vanille/treebor/diff.0.html) on all locations protected by that protector that have actually been accessed. See also #3067. While this is enough for ensuring protectors allow adding/reordering reads, it does not prove that one can reorder writes. For this, we need to make this stronger, by making this implicit read be a write in cases when there was a write to the location protected by that protector, i.e. if the permission is `Active`. There is a test that shows why this behavior is necessary, see `tests/fail/tree_borrows/protector-write-lazy.rs`.
Diffstat (limited to 'compiler/rustc_codegen_llvm')
0 files changed, 0 insertions, 0 deletions
