diff options
author | John Hodge <tpg@ucc.asn.au> | 2019-08-23 20:52:58 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2019-08-23 20:52:58 +0800 |
commit | b20e78d5f66d19bb142f3690b2a8c0b861bb91e1 (patch) | |
tree | 84afe3c320284186abd71547d4635bf20bf668b1 /src/mir/optimise.cpp | |
parent | 980eac10e4f7948f00c4d9c8f028d9f2f1ce38b5 (diff) | |
download | mrust-b20e78d5f66d19bb142f3690b2a8c0b861bb91e1.tar.gz |
MIR Optimise - Handle case where a &mut isn't used
Diffstat (limited to 'src/mir/optimise.cpp')
-rw-r--r-- | src/mir/optimise.cpp | 5 |
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]; |