From 5deed177a5a6fcd7bad86c8dd4f5866f7b578de3 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 31 Dec 2016 14:07:45 +0800 Subject: MIR - Fix a bit of invalid MIR --- src/mir/from_hir_match.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mir/from_hir_match.cpp') diff --git a/src/mir/from_hir_match.cpp b/src/mir/from_hir_match.cpp index 183d6418..008bef0c 100644 --- a/src/mir/from_hir_match.cpp +++ b/src/mir/from_hir_match.cpp @@ -3677,6 +3677,8 @@ void DecisionTreeGen::generate_branches_Slice( ERROR(sp, E0000, "Non-exhaustive match over " << ty); } + auto val_len = m_builder.lvalue_or_temp(sp, ::HIR::CoreType::Usize, ::MIR::RValue::make_DstMeta({ val.clone() })); + // NOTE: Un-deref the slice ASSERT_BUG(sp, val.is_Deref(), "slice matches must be passed a deref"); auto tmp = mv$( *val.as_Deref().val ); @@ -3689,8 +3691,6 @@ void DecisionTreeGen::generate_branches_Slice( // - Binary search // - Sequential comparisons - auto val_len = m_builder.lvalue_or_temp(sp, ::HIR::CoreType::Usize, ::MIR::RValue::make_DstMeta({ val.clone() })); - // TODO: Binary search instead. for( const auto& branch : branches.fixed_arms ) { -- cgit v1.2.3