Ralf Jung
|
64244e9a18
|
do full deref-check before reborrowing
|
2019-11-14 10:24:02 +01:00 |
|
Ralf Jung
|
b93629262d
|
test that even &Cell must be dereferencable
|
2019-08-09 19:22:47 +02:00 |
|
Ralf Jung
|
c4c2716f4e
|
make reborrow shallow, and fix tests for that
|
2019-08-02 08:09:22 +02:00 |
|
Ralf Jung
|
9f48b3029c
|
test that we cannot access unescaped static memory with a raw ptr
|
2019-06-02 22:16:02 +02:00 |
|
Ralf Jung
|
74f98b3803
|
test for new read rules
|
2019-05-21 15:43:18 +02:00 |
|
Ralf Jung
|
4b9e1544c2
|
give up on two-phase borrows
|
2019-05-17 15:02:31 +02:00 |
|
Ralf Jung
|
f676f2265b
|
make writes act stack-like
|
2019-05-15 18:12:58 +02:00 |
|
Ralf Jung
|
617195eb12
|
add arielby's example
|
2019-04-30 20:18:29 +02:00 |
|
Ralf Jung
|
287ffb8bba
|
test another version of 'creating a shared ref must not leak the Unique'
|
2019-04-19 08:46:40 +02:00 |
|
Ralf Jung
|
7d9dc6e698
|
test that creating a 2nd mutable ref from a NonNull invalidates the first
|
2019-04-18 14:43:25 +02:00 |
|
Ralf Jung
|
e1ed855a44
|
more tests -- also one showing why we are not done yet
|
2019-04-17 16:02:57 +02:00 |
|
Ralf Jung
|
72cec0562c
|
add tests for fixes: sharing no longer leaks, and we can handle entering interior mutability
|
2019-04-17 16:02:57 +02:00 |
|
Ralf Jung
|
46d5fd8487
|
barriers are dead, long live protectors -- this enables overlapping two-phase borrows!
|
2019-04-17 16:02:57 +02:00 |
|
Ralf Jung
|
ef52be031c
|
adjust compile-fail error messages
This also passes miri-test-libstd!
|
2019-04-17 16:02:57 +02:00 |
|
Alexander Regueiro
|
12d3ecbaff
|
Various cosmetic improvements.
|
2019-02-26 18:37:46 +00:00 |
|
Alexander Regueiro
|
a478bfebd2
|
Removed copyright notices.
|
2019-02-26 18:37:45 +00:00 |
|
Ralf Jung
|
3c652032c0
|
be more clear which stack we are talking about
|
2019-02-12 10:51:03 +01:00 |
|
Ralf Jung
|
7e9098ff69
|
treat ref-to-raw cast like a reborrow: do a special kind of retag
|
2018-12-12 11:11:20 +01:00 |
|
Ralf Jung
|
f044205b5f
|
the test suite assumes a libstd with full MIR; run test suite on xargo-built foreign libstds
|
2018-12-10 10:04:55 +01:00 |
|
Ralf Jung
|
827e5180f2
|
stacked borrows is broken without full MIR
|
2018-11-16 10:01:54 +01:00 |
|
Ralf Jung
|
ba8eb7608e
|
add an interesting demo for &mut being unique
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a87e952102
|
Separate deref and access into different operations; add special exception for creating raw references
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a94e197105
|
better test the special exception for reading through unique when things are shared
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
94e751267c
|
add another mean test case
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
09919c2b59
|
Retag is the only operation that generates new tags
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
74635a57e2
|
re-do large parts of stacked borrows, now with proper support for partiall frozen data
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
5f42aa61d5
|
illegal_write2 does not work with optimizations
|
2018-11-03 10:23:50 +01:00 |
|
Ralf Jung
|
81534496dc
|
rename RefKind to UsageKind, because it not only used for references now
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
85f821d7e9
|
unify checks on memory access and reborrowing, and update for Machine trait change
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
bba3c49e84
|
basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
7ac0e79ad5
|
stub Retag hook; fix tests for removal of -Zmir-emit-validate
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
1fa0ff88c0
|
fix nits
|
2018-10-30 10:41:01 +01:00 |
|
Ralf Jung
|
356369dd08
|
test against passing invalid shared refs around
|
2018-10-23 16:01:22 +02:00 |
|
Ralf Jung
|
5388037f8a
|
remove code duplication by letting reactivatable() compute what reactivate() has to do
|
2018-10-23 15:59:50 +02:00 |
|
Ralf Jung
|
fe83ef323c
|
also run compile-fail tests with and without optimizations
|
2018-10-23 13:09:17 +02:00 |
|
Ralf Jung
|
cc328f6374
|
test passing invalid refs around
|
2018-10-23 11:20:04 +02:00 |
|
Ralf Jung
|
26bb4f79dc
|
get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom
|
2018-10-22 18:17:37 +02:00 |
|
Ralf Jung
|
fda03e9d7d
|
some more compile-fail tests
|
2018-10-22 16:48:10 +02:00 |
|
Ralf Jung
|
dd1558f337
|
rustc update and be very selective about what we accept on a deref
|
2018-10-22 16:48:09 +02:00 |
|
Ralf Jung
|
b9fe91e486
|
fix for ptr-to-raw casts properly erasing the tag
|
2018-10-18 12:04:41 +02:00 |
|
Ralf Jung
|
1907782b64
|
reenable some tests that work now, and organize them better with directories
|
2018-10-17 16:58:54 +02:00 |
|