diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-19 10:27:38 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-19 10:27:38 +0800 |
commit | a3e8257c4f77f197c9be2dbae7aaddb81257abb2 (patch) | |
tree | 598c815b4e42041966e3a0834a118b9a7c56411f /src/hir_expand/closures.cpp | |
parent | 64c957b03ede8b0af825b50e6e551c61444a3275 (diff) | |
download | mrust-a3e8257c4f77f197c9be2dbae7aaddb81257abb2.tar.gz |
Patterns - Support tuples with .. (fully)
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); |