diff options
Diffstat (limited to 'src/hir_expand/closures.cpp')
-rw-r--r-- | src/hir_expand/closures.cpp | 8 |
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); |