rust/src
bors 7fafbde038 Auto merge of #2275 - RalfJung:permissive-provenance-for-all, r=RalfJung
Enable permissive provenance by default

This completes the plan laid out in https://github.com/rust-lang/miri/issues/2133:
- We use permissive provenance with wildcard pointers by default.
- We print a warning on int2ptr casts. `-Zmiri-permissive-provenance` suppresses the warning; `-Zmiri-strict-provenance` turns it into a hard error.
- Raw pointer tagging is now always enabled, so we remove the `-Zmiri-tag-raw-pointers` flag and the code for untagged pointers. (Passing the flag still works, for compatibility -- but we just ignore it, with a warning.)

We also fix an intptrcast issue:
- Only live allocations are considered when computing the AllocId from an address.

So, finally, Miri has a good story for ptr2int2ptr roundtrips *and* no weird false negatives when doing raw pointer stuff with Stacked Borrows. :-) 🎉   Thanks a lot to everyone who helped with this, in particular `@carbotaniuman` who convinced me this is even possible.

Fixes https://github.com/rust-lang/miri/issues/2133
Fixes https://github.com/rust-lang/miri/issues/1866
Fixes https://github.com/rust-lang/miri/issues/1993
2022-06-28 01:20:40 +00:00
..
bin avoid unnecessary indirection in miri-track-raw-pointers warning 2022-06-26 23:14:16 -04:00
concurrency Auto merge of #2227 - RalfJung:doc, r=RalfJung 2022-06-11 15:50:11 +00:00
helpers Replace as casts in llvm.x86.addcarry.64 implementation 2022-04-30 10:33:55 -07:00
shims improve old comment 2022-06-27 13:38:32 -04:00
stacked_borrows fmt 2022-06-26 22:36:45 -04:00
diagnostics.rs show int2ptr warning once for each span (but don't duplicate the long help) 2022-06-27 20:50:45 -04:00
eval.rs remove support for untagged pointers 2022-06-26 22:19:56 -04:00
helpers.rs Initial freebsd work 2022-06-27 01:39:24 +02:00
intptrcast.rs show int2ptr warning once for each span (but don't duplicate the long help) 2022-06-27 20:50:45 -04:00
lib.rs show int2ptr warning once for each span (but don't duplicate the long help) 2022-06-27 20:50:45 -04:00
machine.rs remove support for untagged pointers 2022-06-26 22:19:56 -04:00
mono_hash_map.rs some clippy-induced cleanup 2022-06-08 08:06:32 -04:00
operator.rs rustup 2022-04-09 09:41:29 -04:00
range_map.rs Resolve clippy::needless_return 2022-04-29 15:53:48 -07:00
stacked_borrows.rs fmt 2022-06-26 22:36:45 -04:00
sync.rs Inline _create() calls and add assertions 2022-05-12 21:06:17 +01:00
thread.rs fix ICE when const refers to extern static 2022-06-21 21:03:40 -07:00
vector_clock.rs set_at_index sets the default value (0) if index doesn't exist in the other vector 2022-06-06 19:15:20 +01:00