summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-12-24 16:34:50 +1100
committerJohn Hodge <tpg@mutabah.net>2016-12-24 16:34:50 +1100
commit02a40bf4d2a341609a7e120d780f24688de9ac67 (patch)
tree3ddb9624f1b38e0897f6126e9277d04a043d84ee
parentbb9cb65e006604ac5ca654bbfa9c224f7698151d (diff)
downloadmrust-02a40bf4d2a341609a7e120d780f24688de9ac67.tar.gz
MIR Gen - Fix double-drop of InnerMoved variables
-rw-r--r--src/mir/mir_builder.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mir/mir_builder.cpp b/src/mir/mir_builder.cpp
index 367c4aa1..c2f8b822 100644
--- a/src/mir/mir_builder.cpp
+++ b/src/mir/mir_builder.cpp
@@ -1223,6 +1223,7 @@ void MirBuilder::drop_scope_values(const ScopeDef& sd)
break;
case VarState::InnerMoved:
push_stmt_drop_shallow( sd.span, ::MIR::LValue::make_Variable(var_idx) );
+ set_variable_state(sd.span, var_idx, VarState::Dropped);
break;
case VarState::MaybeMoved:
//TODO(sd.span, "Include drop flags");