summaryrefslogtreecommitdiff
path: root/src/hir_expand/closures.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir_expand/closures.cpp')
-rw-r--r--src/hir_expand/closures.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/hir_expand/closures.cpp b/src/hir_expand/closures.cpp
index 52ef1629..74255849 100644
--- a/src/hir_expand/closures.cpp
+++ b/src/hir_expand/closures.cpp
@@ -407,7 +407,7 @@ namespace {
args_ty_inner.push_back( monomorphise_type_with(sp, arg.second, monomorph_cb) );
}
::HIR::TypeRef args_ty { mv$(args_ty_inner) };
- ::HIR::Pattern args_pat { {}, ::HIR::Pattern::Data::make_Tuple({ ::HIR::Pattern::GlobPos::None, mv$(args_pat_inner) }) };
+ ::HIR::Pattern args_pat { {}, ::HIR::Pattern::Data::make_Tuple({ mv$(args_pat_inner) }) };
::HIR::TypeRef ret_type = monomorphise_type_with(sp, node.m_return, monomorph_cb);
DEBUG("args_ty = " << args_ty << ", ret_type = " << ret_type);
@@ -609,6 +609,12 @@ namespace {
for( const auto& subpat : e.sub_patterns )
add_closure_def_from_pattern(sp, subpat);
),
+ (SplitTuple,
+ for( const auto& subpat : e.leading )
+ add_closure_def_from_pattern(sp, subpat);
+ for( const auto& subpat : e.trailing )
+ add_closure_def_from_pattern(sp, subpat);
+ ),
(Slice,
for(const auto& sub : e.sub_patterns)
add_closure_def_from_pattern(sp, sub);