]> git.lizzy.rs Git - rust.git/commit - src/tools/miri
Auto merge of #86461 - crlf0710:rich_vtable, r=nikomatsakis
authorbors <bors@rust-lang.org>
Sat, 24 Jul 2021 10:21:23 +0000 (10:21 +0000)
committerbors <bors@rust-lang.org>
Sat, 24 Jul 2021 10:21:23 +0000 (10:21 +0000)
commitf9b95f92c8af07a24a870e5f6117aa5dfcee5f17
treedb71445130307ccf0e6f2ff04581852b430dccb4
parent1c66d11a34047be1eb6c50703f8ba6689a15e716
parentfbb353ae2b5cef75c7d97be4f3c2283a63e0fd7f
Auto merge of #86461 - crlf0710:rich_vtable, r=nikomatsakis

Refactor vtable format for upcoming trait_upcasting feature.

This modifies vtable format:
1. reordering occurrence order of methods coming from different traits
2. include `VPtr`s for supertraits where this vtable cannot be directly reused during trait upcasting.
Also, during codegen, the vtables corresponding to these newly included `VPtr` will be requested and generated.

For the cases where this vtable can directly used, now the super trait vtable has exactly the same content to some prefix of this one.

r? `@bjorn3`
cc `@RalfJung`
cc `@rust-lang/wg-traits`