about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-11-14 06:08:09 +0000
committerbors <bors@rust-lang.org>2015-11-14 06:08:09 +0000
commit45087f36cea574ef13ae25afb10b1a76571275aa (patch)
treecf6a23dc4119e5a0efed3fafb55c9735629047f9
parent32202cca2783397d9556371c851c48c6bca35ed1 (diff)
parent9211883e545c4e7291c75b2cacc74d2ae3981f99 (diff)
downloadrust-45087f36cea574ef13ae25afb10b1a76571275aa.tar.gz
rust-45087f36cea574ef13ae25afb10b1a76571275aa.zip
Auto merge of #29817 - michaelwoerister:mir-ty-closure-fields, r=nikomatsakis
Add a missing case in LvalueTy::projection_ty() that popped up earlier today.

cc @rust-lang/compiler @nikomatsakis
-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 15a49fc9d85..4d034ae23b4 100644
--- a/src/librustc_mir/tcx/mod.rs
+++ b/src/librustc_mir/tcx/mod.rs
@@ -79,6 +79,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)),
                     },