rust/compiler/rustc_mir/src
bors f9b95f92c8 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`
2021-07-24 10:21:23 +00:00
..
borrow_check Resolve nested inference variables. 2021-07-22 11:20:29 +00:00
const_eval adjustions and cleanup to make Miri build again 2021-07-15 17:14:11 +02:00
dataflow re-export SwitchIntEdgeEffects 2021-07-04 13:33:22 +02:00
interpret miri: better ptr-out-of-bounds errors 2021-07-18 10:38:00 +02:00
monomorphize Switch to store Instance directly within VtblEntry, fix TraitVPtr representation. 2021-07-20 22:53:02 +08:00
transform Iterate through impls only when permitted 2021-07-19 18:50:06 +08:00
util consistently treat None-tagged pointers as ints; get rid of some deprecated Scalar methods 2021-07-14 18:17:49 +02:00
lib.rs Support allocation failures when interperting MIR 2021-06-29 19:08:26 -04:00
shim.rs Prepare mir::Constant for ty::Const only supporting valtrees 2021-03-12 12:43:54 +00:00