summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-08-23 20:52:58 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-08-23 20:52:58 +0800
commitb20e78d5f66d19bb142f3690b2a8c0b861bb91e1 (patch)
tree84afe3c320284186abd71547d4635bf20bf668b1
parent980eac10e4f7948f00c4d9c8f028d9f2f1ce38b5 (diff)
downloadmrust-b20e78d5f66d19bb142f3690b2a8c0b861bb91e1.tar.gz
MIR Optimise - Handle case where a &mut isn't used
-rw-r--r--src/mir/optimise.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mir/optimise.cpp b/src/mir/optimise.cpp
index 2d4dbc68..183894c5 100644
--- a/src/mir/optimise.cpp
+++ b/src/mir/optimise.cpp
@@ -1878,6 +1878,11 @@ bool MIR_Optimise_DeTemporary_Borrows(::MIR::TypeResolve& state, ::MIR::Function
//DEBUG(this_var << " - Multi-assign, or use-by-value");
continue ;
}
+ if( slot.n_deref_read == 0 )
+ {
+ //DEBUG(this_var << " - Not used");
+ continue ;
+ }
// Check that the source was a borrow statement
auto& src_bb = fcn.blocks[slot.set_loc.bb_idx];