Create more accurate debuginfo for vtables. Before this PR all vtables would have the same name (`"vtable"`) in debuginfo. Now they get an unambiguous name that identifies the implementing type and the trait that is being implemented. This is only one of several possible improvements: - This PR describes vtables as arrays of `*const u8` pointers. It would nice to describe them as structs where function pointer is represented by a field with a name indicative of the method it maps to. However, this requires coming up with a naming scheme that avoids clashes between methods with the same name (which is possible if the vtable contains multiple traits). - The PR does not update the debuginfo we generate for the vtable-pointer field in a fat `dyn` pointer. Right now there does not seem to be an easy way of getting ahold of a vtable-layout without also knowing the concrete self-type of a trait object. r? `@wesleywiser` |
||
|---|---|---|
| .. | ||
| back | ||
| intrinsic | ||
| abi.rs | ||
| allocator.rs | ||
| archive.rs | ||
| asm.rs | ||
| base.rs | ||
| builder.rs | ||
| callee.rs | ||
| common.rs | ||
| consts.rs | ||
| context.rs | ||
| coverageinfo.rs | ||
| debuginfo.rs | ||
| declare.rs | ||
| lib.rs | ||
| mono_item.rs | ||
| type_.rs | ||
| type_of.rs | ||