rust/library
bors aa01891700 Auto merge of #99420 - RalfJung:vtable, r=oli-obk
make vtable pointers entirely opaque

This implements the scheme discussed in https://github.com/rust-lang/unsafe-code-guidelines/issues/338: vtable pointers should be considered entirely opaque and not even readable by Rust code, similar to function pointers.

- We have a new kind of `GlobalAlloc` that symbolically refers to a vtable.
- Miri uses that kind of allocation when generating a vtable.
- The codegen backends, upon encountering such an allocation, call `vtable_allocation` to obtain an actually dataful allocation for this vtable.
- We need new intrinsics to obtain the size and align from a vtable (for some `ptr::metadata` APIs), since direct accesses are UB now.

I had to touch quite a bit of code that I am not very familiar with, so some of this might not make much sense...
r? `@oli-obk`
2022-07-22 01:33:49 +00:00
..
alloc Rollup merge of #99413 - steffahn:btree_dropck, r=m-ou-se 2022-07-21 18:42:02 +02:00
backtrace@4e5a3f7292
core Auto merge of #99420 - RalfJung:vtable, r=oli-obk 2022-07-22 01:33:49 +00:00
panic_abort Fully stabilize NLL 2022-06-03 17:16:41 -04:00
panic_unwind Library changes for Apple WatchOS 2022-07-20 08:57:36 +01:00
portable-simd
proc_macro Rollup merge of #99516 - m-ou-se:proc-macro-tracked-tracking-issue, r=Mark-Simulacrum 2022-07-20 18:58:22 +02:00
profiler_builtins Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rtstartup
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #99523 - cuviper:asfd_ptrs-1.64, r=jyn514 2022-07-21 18:42:05 +02:00
stdarch@28335054b1
test Fix binary name in help message for test binaries 2022-07-09 18:52:37 -04:00
unwind Rollup merge of #98101 - vladimir-ea:stdlib_watch_os, r=thomcc 2022-07-20 16:17:17 +05:30