rust/compiler/rustc_codegen_ssa/src/traits
bors 9a757817c3 Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser
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`
2021-10-11 04:31:47 +00:00
..
abi.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
asm.rs Add support for const operands and options to global_asm! 2021-05-13 22:31:57 +01:00
backend.rs Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
builder.rs Make abi::Abi Copy and remove a *lot* of refs 2021-09-09 10:41:19 +02:00
consts.rs Make abi::Abi Copy and remove a *lot* of refs 2021-09-09 10:41:19 +02:00
coverageinfo.rs Changes from review comments 2021-03-23 17:02:10 -07:00
debuginfo.rs Create more accurate debuginfo for vtables. 2021-10-08 10:33:47 +02:00
declare.rs Remove DeclareMethods 2020-09-18 13:11:59 +02:00
intrinsic.rs Remove the -Zinsert-sideeffect 2021-03-10 12:21:43 +02:00
misc.rs Always use llvm.used for coverage symbols 2021-08-21 10:08:05 +02:00
mod.rs Add support for const operands and options to global_asm! 2021-05-13 22:31:57 +01:00
statics.rs Always use llvm.used for coverage symbols 2021-08-21 10:08:05 +02:00
type_.rs Prepare call/invoke for opaque pointers 2021-08-05 10:58:55 -07:00
write.rs Support -C passes in NewPM 2021-05-08 10:58:08 +02:00