about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo.net>2015-11-13 17:01:37 +0100
committerMichael Woerister <michaelwoerister@posteo.net>2015-11-13 17:01:37 +0100
commit9211883e545c4e7291c75b2cacc74d2ae3981f99 (patch)
treec297592f48ee4cce327e6967c4fe0aff9dab5573
parentb12a3582b113c0f9c217f6311ec0d47fd0f79016 (diff)
MIR: Support closure up-vars in LvalueTy::projection_ty()
-rw-r--r--src/librustc_mir/tcx/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/librustc_mir/tcx/mod.rs b/src/librustc_mir/tcx/mod.rs
index 3b9d9228a16..65667f6420c 100644
--- a/src/librustc_mir/tcx/mod.rs
+++ b/src/librustc_mir/tcx/mod.rs
@@ -78,6 +78,8 @@ impl<'tcx> LvalueTy<'tcx> {
                             adt_def.struct_variant().fields[field.index()].ty(tcx, substs),
                         ty::TyTuple(ref tys) =>
                             tys[field.index()],
+                        ty::TyClosure(_, ref closure_substs) =>
+                            closure_substs.upvar_tys[field.index()],
                         _ =>
                             tcx.sess.bug(&format!("cannot get field of type: `{:?}`", ty)),
                     },