about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa/mir
diff options
context:
space:
mode:
authorTyler Mandry <tmandry@gmail.com>2019-04-25 10:23:15 -0700
committerTyler Mandry <tmandry@gmail.com>2019-04-25 10:23:15 -0700
commit4de2d8a86909cec4279c4054790c62c66ca033d7 (patch)
tree46cdfd59bc76e6be3ea96b164b9c4e8a7afafb55 /src/librustc_codegen_ssa/mir
parent70c1b6c530bfe86a2b54dbd40a7628fc2105c0b9 (diff)
downloadrust-4de2d8a86909cec4279c4054790c62c66ca033d7.tar.gz
rust-4de2d8a86909cec4279c4054790c62c66ca033d7.zip
Give GeneratorLayout a list of fields for each variant
But don't really use it yet.
Diffstat (limited to 'src/librustc_codegen_ssa/mir')
-rw-r--r--src/librustc_codegen_ssa/mir/mod.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_codegen_ssa/mir/mod.rs b/src/librustc_codegen_ssa/mir/mod.rs
index 621c4e5d448..4387d77a925 100644
--- a/src/librustc_codegen_ssa/mir/mod.rs
+++ b/src/librustc_codegen_ssa/mir/mod.rs
@@ -655,10 +655,12 @@ fn arg_local_refs<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
                         ty::Generator(def_id, substs, _) => (def_id, substs),
                         _ => bug!("generator layout without generator substs"),
                     };
+                    // TODO handle variant scopes here
                     let state_tys = gen_substs.state_tys(def_id, tcx);
 
-                    let upvar_count = upvar_debuginfo.len();
-                    generator_layout.fields
+                    // TODO remove assumption of only one variant
+                    let upvar_count = mir.upvar_decls.len();
+                    generator_layout.variant_fields[0]
                         .iter()
                         .zip(state_tys)
                         .enumerate()