about summary refs log tree commit diff
path: root/src/tools/miri/tests/pass/tree_borrows
AgeCommit message (Collapse)AuthorLines
2025-09-22TB: rename Active → Unique to match paperRalf Jung-5/+5
2025-08-23tree borrows: refactor new-permission logicRalf Jung-4/+6
2025-06-09Add `-Zmiri-tree-borrows-no-precise-interior-mut` flagXinglu Chen-0/+40
2025-05-30Track permissions on the byte-levelXinglu Chen-2/+24
Co-authored-by: Ralf Jung <post@ralfj.de> Co-authored-by: Johannes Hostert <jhostert@ethz.ch>
2025-05-05Merge pull request #4309 from RalfJung/both-borrows-testsRalf Jung-463/+2
move tests that are identical between SB and TB to shared files
2025-05-05Merge pull request #4306 from yoctocell/fix-unsafecell-inside-boxRalf Jung-0/+42
Tree Borrows: Correctly handle interior mutable data in `Box`
2025-05-05move tests that are identical between SB and TB to shared filesRalf Jung-463/+2
2025-05-04Remove -Zunique-is-uniqueJohannes Hostert-193/+0
2025-05-02Construct test so that it would fail for old codeXinglu Chen-5/+22
2025-05-02Correctly handle interior mutable data in `Box`Xinglu Chen-0/+25
Previously, the pointee type would be behind a `*const` pointer, so `ty_is_freeze` would always be `true`, even if there was an `UnsafeCell` in `Box`.
2025-05-01Merge pull request #4273 from yoctocell/new-cell-stateRalf Jung-17/+26
TB: add `Cell` state to support more fine-grained tracking of interior mutable data
2025-05-01Add `Cell` state to Tree BorrowsXinglu Chen-17/+26
2025-04-29add -Zmiri-deterministic-concurrency flag and use it for concurrency testsRalf Jung-2/+2
2025-04-29Merge pull request #4272 from geetanshjuneja/schedulingRalf Jung-2/+2
Make thread scheduling fully random
2025-04-29Added random schedulinggeetanshjuneja-2/+2
2025-04-29suppress dangerous_implicit_autorefs in TB testRalf Jung-0/+1
2025-04-22TB: add missing interior_mutability test fileRalf Jung-0/+177
2024-09-29let rustfmt format importsRalf Jung-2/+1
2024-08-27tree_borrows test: ensure we can actually read the variableRalf Jung-1/+2
2024-08-22fix a misleading comment in TB testssun-jacobi-1/+1
2024-08-16Auto merge of #3754 - Vanille-N:master, r=RalfJungbors-36/+36
Make unused states of Reserved unrepresentable In the [previous TB update](https://github.com/rust-lang/miri/pull/3742) we discovered that the existence of `Reserved + !ty_is_freeze + protected` is undesirable. This has the side effect of making `Reserved { conflicted: true, ty_is_freeze: false }` unreachable. As such it is desirable that this state would also be unrepresentable. This PR eliminates the unused configuration by changing ```rs enum PermissionPriv { Reserved { ty_is_freeze: bool, conflicted: bool }, ... } ``` into ```rs enum PermissionPriv { ReservedFrz { conflicted: bool }, ReservedIM, ... } ``` but this is not the only solution and `Reserved(Activable | Conflicted | InteriorMut)` could be discussed. In addition to making the unreachable state not representable anymore, this change has the nice side effect of enabling `foreign_read` to no longer depend explicitly on the `protected` flag. Currently waiting for - `@JoJoDeveloping` to confirm that this is the same representation of `Reserved` as what is being implemented in simuliris, - `@RalfJung` to approve that this does not introduce too much overhead in the trusted codebase.
2024-08-12fix tree borrows Unique testRalf Jung-11/+7
2024-08-09Add a FIXME to the changed Miri testBen Kimock-0/+2
2024-08-09Bless MiriBen Kimock-3/+5
2024-07-24Make unused states of Reserved unrepresentableNeven Villani-36/+36
2024-07-09Implement fix for reservedim_spurious_write: ignore IM on protectedNeven Villani-1/+1
2024-04-17no need to use miri's native stderr hereRalf Jung-3/+2
2024-02-26tree borrows: add a test to sb_failsRalf Jung-2/+16
2024-01-02Allow unused tuple struct fields in Miri testsJake Goulding-1/+1
Otherwise the newly-detected dead code causes new output
2023-11-29explain tests that disable the provenance GCRalf Jung-0/+7
2023-11-19tag-gc -> provenance-gcBen Kimock-7/+7
2023-10-20s/generator/coroutine/Oli Scherer-1/+1
2023-10-06Fix problems of Reserved -> FrozenNeven Villani-133/+405
Reserved loses permissions too quickly. Adding more fine-grained behavior of Reserved lets it lose write permissions only temporarily. Protected tags receive a read access on initialized locations.
2023-08-02add local_addr_of_mut testRalf Jung-0/+12
2023-08-02add write_does_not_invalidate_all_aliases test, and enable ↵Ralf Jung-5/+34
direct_mut_to_const_raw test in TB
2023-07-30refactor tests/utils a bit, and move some FS functions thereRalf Jung-10/+9
2023-07-28exract a perform_access, check read-read commutation exhaustivelyNeven Villani-16/+18
2023-07-26we correctly check that the perm is not lazy when triggering protectorsNeven Villani-0/+16
2023-07-26normalize tree borrow diagnostics across targetsRalf Jung-48/+48
2023-06-28Unique gets special treatment when -Zmiri-unique-is-uniqueNeven Villani-1/+197
2023-06-03Select more TB fail testsNeven Villani-0/+884
- reorganize tests/ structure: {stacked,tree,both}_borrows - UnsafeCell transmutation (the one that should fail, i.e. transmute & -> UnsafeCell then try to write) - select TB pass tests from existing SB fail tests (and a version that fails TB) - many fail tests now shared * extra test for TB that parent write invalidates child reads * buggy_* tests now shared * tests for deep retagging (pass_invalid_shr_*) now shared * extra TB test that shared references are read-only * aliasing_mut{1,2,3,4} adapted to fail both * extra TB test that write to raw parent invalidates shared children * mut_exclusive_violation2 now shared * issue-miri-1050-2 revisions fix - deduplications