1
Fork 0
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 use jemallocator in rustc/rustdoc 2021-04-04 14:10:26 -07:00
rustc_apfloat Use iter::zip in compiler/ 2021-03-26 09:32:31 -07:00
rustc_arena Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
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 Use AnonConst for asm! constants 2021-04-06 12:35:41 +01:00
rustc_attr Allow specifying alignment for functions 2021-04-05 17:36:51 -04:00
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 '15c8d31392' 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 Rollup merge of #83895 - eggyal:issue-83883, r=jyn514 2021-04-06 17:42:31 +02:00
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 Optimize away a fs::metadata call. 2021-01-06 08:33:15 -08:00
rustc_graphviz Remove (lots of) dead code 2021-03-27 22:16:33 -04:00
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 Handle pretty printing of else if let clauses 2021-04-23 13:29:18 -04:00
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 Fix outdated crate names in compiler docs 2021-04-08 11:12:14 -05:00
rustc_lint Auto merge of #83386 - mark-i-m:stabilize-pat2015, r=nikomatsakis 2021-04-28 20:35:17 +00:00
rustc_lint_defs Typo 2021-04-20 09:30:28 -04:00
rustc_llvm Replace llvm::sys::fs::F_None with llvm::sys::fs::OF_None 2021-04-29 15:25:17 -07:00
rustc_macros Use iter::zip in compiler/ 2021-03-26 09:32:31 -07:00
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 Rollup merge of #83348 - osa1:issue83344, r=jackh726 2021-03-28 01:33:13 +09:00
rustc_passes Implement RFC 1260 with feature_name imported_main. 2021-04-29 08:35:08 +08:00
rustc_plugin_impl Remove hir::Item::attrs. 2021-03-09 19:27:50 +01:00
rustc_privacy fix few typos 2021-04-19 15:57:08 +03:00
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 Remove hir::CrateItem. 2021-03-30 20:31:06 +02:00
rustc_serialize Auto merge of #83465 - michaelwoerister:safe-read_raw_bytes, r=cjgillot 2021-03-26 01:28:59 +00:00
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 Rollup merge of #80525 - devsnek:wasm64, r=nagisa 2021-04-05 00:24:23 +02:00
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 Auto merge of #83207 - oli-obk:valtree2, r=lcnr 2021-04-02 10:28:12 +00:00
rustc_ty_utils Split crate_hash from index_hir. 2021-04-29 21:36:48 +02:00
rustc_type_ir Remove nightly features in rustc_type_ir 2021-04-03 10:00:09 +02:00
rustc_typeck Rollup merge of #84358 - sexxi-goose:print_captures_borrowck_rebased, r=nikomatsakis 2021-05-02 17:00:21 +02:00