summaryrefslogtreecommitdiff
path: root/src/mir/from_hir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir/from_hir.cpp')
-rw-r--r--src/mir/from_hir.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mir/from_hir.cpp b/src/mir/from_hir.cpp
index 149d53ea..bc9b04a7 100644
--- a/src/mir/from_hir.cpp
+++ b/src/mir/from_hir.cpp
@@ -2252,8 +2252,15 @@ namespace {
unsigned int i = 0;
for( const auto& arg : args )
{
- ev.define_vars_from(ptr->span(), arg.first);
- ev.destructure_from(ptr->span(), arg.first, ::MIR::LValue::make_Argument({i}));
+ const auto& pat = arg.first;
+ if( pat.m_binding.is_valid() && pat.m_binding.m_type == ::HIR::PatternBinding::Type::Move )
+ {
+ }
+ else
+ {
+ ev.define_vars_from(ptr->span(), arg.first);
+ ev.destructure_from(ptr->span(), arg.first, ::MIR::LValue::make_Argument({i}));
+ }
i ++;
}