diff options
author | John Hodge <tpg@mutabah.net> | 2016-12-24 16:34:50 +1100 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-12-24 16:34:50 +1100 |
commit | 02a40bf4d2a341609a7e120d780f24688de9ac67 (patch) | |
tree | 3ddb9624f1b38e0897f6126e9277d04a043d84ee | |
parent | bb9cb65e006604ac5ca654bbfa9c224f7698151d (diff) | |
download | mrust-02a40bf4d2a341609a7e120d780f24688de9ac67.tar.gz |
MIR Gen - Fix double-drop of InnerMoved variables
-rw-r--r-- | src/mir/mir_builder.cpp | 1 |
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"); |