rust/compiler
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
..
rustc
rustc_apfloat
rustc_arena
rustc_ast remove unwrap_or! macro 2021-10-08 19:32:16 +03:00
rustc_ast_lowering Rollup merge of #89641 - asquared31415:asm-feature-attr-regs, r=oli-obk 2021-10-09 11:56:00 +02:00
rustc_ast_passes
rustc_ast_pretty
rustc_attr
rustc_borrowck Rollup merge of #89649 - matthiaskrgr:clippycompl, r=jyn514 2021-10-08 22:30:40 +02:00
rustc_builtin_macros Rollup merge of #89649 - matthiaskrgr:clippycompl, r=jyn514 2021-10-08 22:30:40 +02:00
rustc_codegen_cranelift Auto merge of #89619 - michaelwoerister:incr-vtables, r=nagisa 2021-10-08 09:04:06 +00:00
rustc_codegen_gcc Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser 2021-10-11 04:31:47 +00:00
rustc_codegen_llvm Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser 2021-10-11 04:31:47 +00:00
rustc_codegen_ssa Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser 2021-10-11 04:31:47 +00:00
rustc_const_eval Auto merge of #89619 - michaelwoerister:incr-vtables, r=nagisa 2021-10-08 09:04:06 +00:00
rustc_data_structures
rustc_driver Update compiler/rustc_driver/src/lib.rs 2021-10-07 09:52:51 -07:00
rustc_error_codes
rustc_errors use structured fields in some existing warnings 2021-10-07 10:48:48 -07:00
rustc_expand
rustc_feature Rollup merge of #89428 - DevinR528:reachable-featuregate, r=Nadrieril,camelid 2021-10-10 18:22:19 +02:00
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #89641 - asquared31415:asm-feature-attr-regs, r=oli-obk 2021-10-09 11:56:00 +02:00
rustc_hir_pretty
rustc_incremental
rustc_index
rustc_infer Auto merge of #89633 - rhysd:issue-65230, r=petrochenkov 2021-10-10 15:59:28 +00:00
rustc_interface Enable AutoFDO. 2021-10-06 19:36:52 +00:00
rustc_lexer
rustc_lint Rollup merge of #89672 - klensy:unwrap-or-macro, r=jackh726 2021-10-08 22:30:43 +02:00
rustc_lint_defs Add feature gate to non_exhaustive_omitted_patterns lint 2021-10-08 17:40:39 -04:00
rustc_llvm Rollup merge of #89025 - ricobbe:raw-dylib-link-ordinal, r=michaelwoerister 2021-10-07 20:26:11 -07:00
rustc_macros
rustc_metadata Rollup merge of #89649 - matthiaskrgr:clippycompl, r=jyn514 2021-10-08 22:30:40 +02:00
rustc_middle Rollup merge of #89722 - jkugelman:cannonical-typo, r=joshtriplett 2021-10-11 00:34:40 +02:00
rustc_mir_build clippy::complexity fixes 2021-10-08 20:07:44 +02:00
rustc_mir_dataflow comma-related changes 2021-10-07 11:29:47 -07:00
rustc_mir_transform clippy::complexity fixes 2021-10-08 20:07:44 +02:00
rustc_monomorphize
rustc_parse some clippy::perf fixes 2021-10-07 22:31:33 +02:00
rustc_parse_format
rustc_passes Rollup merge of #89641 - asquared31415:asm-feature-attr-regs, r=oli-obk 2021-10-09 11:56:00 +02:00
rustc_plugin_impl
rustc_privacy
rustc_query_impl Auto merge of #89343 - Mark-Simulacrum:no-args-queries, r=cjgillot 2021-10-09 13:13:07 +00:00
rustc_query_system Query the fingerprint style during key reconstruction 2021-10-06 22:19:48 -04:00
rustc_resolve remove unwrap_or! macro 2021-10-08 19:32:16 +03:00
rustc_save_analysis
rustc_serialize
rustc_session Rollup merge of #89476 - cjgillot:expn-id, r=petrochenkov 2021-10-07 20:26:14 -07:00
rustc_span Add feature gate to non_exhaustive_omitted_patterns lint 2021-10-08 17:40:39 -04:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection Fix spelling: Cannonical -> Canonical 2021-10-10 00:44:34 -04:00
rustc_traits clippy::complexity fixes 2021-10-08 20:07:44 +02:00
rustc_ty_utils
rustc_type_ir
rustc_typeck Rollup merge of #89649 - matthiaskrgr:clippycompl, r=jyn514 2021-10-08 22:30:40 +02:00