rust/compiler
Dylan DPC 2553053828
Rollup merge of #84752 - lrh2000:generator-debuginfo, r=tmandry
Fix debuginfo for generators

First, all fields except the discriminant (including `outer_fields`) should be put into structures inside the variant part, which gives an equivalent layout but offers us much better integration with debuggers.

Second, artificial flags in generator variants should be removed.
 - Literally, variants are not artificial. We have `yield` statements, upvars and inner variables in the source code.
 - Functionally, we don't want debuggers to suppress the variants. It contains the state of the generator, which is useful when debugging. So they shouldn't be marked artificial.
 - Debuggers may use artificial flags to find the active variant. In this case, marking variants artificial will make debuggers not work properly.

Fixes #62572.
Fixes #79009.

And refer https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Debuginfo.20for.20generators.
2021-05-02 17:00:23 +02:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast Auto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis 2021-04-28 20:35:17 +00:00
rustc_ast_lowering Make current_hir_id_owner a simple tuple. 2021-04-29 21:26:15 +02:00
rustc_ast_passes Auto merge of #83713 - spastorino:revert-pub-macro-rules, r=nikomatsakis 2021-04-28 05:52:47 +00:00
rustc_ast_pretty
rustc_attr
rustc_builtin_macros adds feature gating of no_coverage at either crate- or function-level 2021-04-27 17:12:51 -07:00
rustc_codegen_cranelift Merge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase 2021-04-30 18:46:59 +02:00
rustc_codegen_llvm Rollup merge of #84752 - lrh2000:generator-debuginfo, r=tmandry 2021-05-02 17:00:23 +02:00
rustc_codegen_ssa Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_data_structures Auto merge of #84614 - RalfJung:daily, r=Mark-Simulacrum 2021-04-29 02:53:52 +00:00
rustc_driver
rustc_error_codes Implement RFC 1260 with feature_name imported_main. 2021-04-29 08:35:08 +08:00
rustc_errors Rollup merge of #84235 - klensy:styled-buffer, r=lcnr 2021-04-25 23:15:10 +02:00
rustc_expand Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_feature Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #84299 - lcnr:const-generics-defaults-name-res, r=varkor 2021-04-25 14:00:49 +00:00
rustc_hir_pretty
rustc_incremental Add [TRACKED_NO_CRATE_HASH] and [SUBSTRUCT] directives 2021-04-27 16:46:33 +00:00
rustc_index fix sanitizer tests 2021-04-25 11:08:33 +02:00
rustc_infer Don't rebind in transitive_bounds_that_define_assoc_type 2021-04-28 18:10:44 -04:00
rustc_interface Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_lexer
rustc_lint Auto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis 2021-04-28 20:35:17 +00:00
rustc_lint_defs
rustc_llvm Replace llvm::sys::fs::F_None with llvm::sys::fs::OF_None 2021-04-29 15:25:17 -07:00
rustc_macros
rustc_metadata Make real_rust_path_dir a TRACKED_NO_CRATE_HASH option 2021-04-27 16:48:25 +00:00
rustc_middle Rollup merge of #84392 - dario23:fmt-assert-args-pub, r=varkor,RalfJung 2021-05-02 17:00:22 +02:00
rustc_mir add docstrings and add issue to FIXMEs 2021-05-01 19:01:06 -04:00
rustc_mir_build Auto merge of #84310 - RalfJung:const-fn-feature-flags, r=oli-obk 2021-04-24 23:16:03 +00:00
rustc_parse Auto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis 2021-04-28 20:35:17 +00:00
rustc_parse_format
rustc_passes Implement RFC 1260 with feature_name imported_main. 2021-04-29 08:35:08 +08:00
rustc_plugin_impl
rustc_privacy
rustc_query_impl Move iter_results to dyn FnMut rather than a generic 2021-04-29 17:26:46 -04:00
rustc_query_system Avoid generating QueryMap::extend for each key type 2021-05-01 20:13:18 -04:00
rustc_resolve Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_save_analysis
rustc_serialize
rustc_session Remove unused macro parameters 2021-05-01 19:01:49 -04:00
rustc_span Auto merge of #84401 - crlf0710:impl_main_by_path, r=petrochenkov 2021-04-30 06:59:37 +00:00
rustc_symbol_mangling
rustc_target Auto merge of #84658 - Amanieu:reserved_regs, r=petrochenkov 2021-05-01 13:01:24 +00:00
rustc_trait_selection Make traits with GATs not object safe 2021-04-27 14:34:23 -04:00
rustc_traits
rustc_ty_utils Split crate_hash from index_hir. 2021-04-29 21:36:48 +02:00
rustc_type_ir
rustc_typeck Rollup merge of #84358 - sexxi-goose:print_captures_borrowck_rebased, r=nikomatsakis 2021-05-02 17:00:21 +02:00