diff --git a/src/analyze.rs b/src/analyze.rs index 2ef21dbb459..69d7d15aa5b 100644 --- a/src/analyze.rs +++ b/src/analyze.rs @@ -26,7 +26,12 @@ pub fn analyze<'a, 'tcx: 'a>(fx: &FunctionCx<'a, 'tcx, impl Backend>) -> HashMap for bb in fx.mir.basic_blocks().iter() { for stmt in bb.statements.iter() { match &stmt.kind { - Assign(_, Rvalue::Ref(_, _, place)) => analyze_non_ssa_place(&mut flag_map, place), + Assign(_, rval) => { + match &**rval { + Rvalue::Ref(_, _, place) => analyze_non_ssa_place(&mut flag_map, place), + _ => {} + } + } _ => {} } } diff --git a/src/base.rs b/src/base.rs index 3ba4b75a071..b35ef24e898 100644 --- a/src/base.rs +++ b/src/base.rs @@ -385,7 +385,7 @@ fn trans_stmt<'a, 'tcx: 'a>( StatementKind::Assign(to_place, rval) => { let lval = trans_place(fx, to_place); let dest_layout = lval.layout(); - match rval { + match &**rval { Rvalue::Use(operand) => { let val = trans_operand(fx, operand); lval.write_cvalue(fx, val);