From b20e78d5f66d19bb142f3690b2a8c0b861bb91e1 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Fri, 23 Aug 2019 20:52:58 +0800 Subject: MIR Optimise - Handle case where a &mut isn't used --- src/mir/optimise.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') 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]; -- cgit v1.2.3