Split out debuginfo from type info in MIR GeneratorLayout

This commit is contained in:
Tyler Mandry
2019-05-03 16:03:05 -07:00
parent f7c2f2475a
commit 15dbe652ff
5 changed files with 59 additions and 16 deletions

View File

@@ -1597,8 +1597,9 @@ impl<'tcx> VariantInfo<'tcx> {
VariantInfo::Adt(variant) if variant.ctor_kind != CtorKind::Fn =>
Some(variant.fields[i].ident.to_string()),
VariantInfo::Generator(_, generator_layout, variant_index) => {
let variant_decls = &generator_layout.variant_fields[*variant_index];
variant_decls[i.into()].name.map(|name| name.to_string())
let field = generator_layout.variant_fields[*variant_index][i.into()];
let decl = &generator_layout.__local_debuginfo_codegen_only_do_not_use[field];
decl.name.map(|name| name.to_string())
}
_ => None,
};