diff options
author | John Hodge <tpg@mutabah.net> | 2019-11-03 11:59:35 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2019-11-03 11:59:35 +0800 |
commit | 56c9b3f6f9c4e9e34477b19b5abf25193dbc3a41 (patch) | |
tree | d0b1983ab77eae175086f2587522bddccb47980e /src/trans | |
parent | 0a2ea1a773c54c3a4b02edfeb19123aa4224c735 (diff) | |
download | mrust-56c9b3f6f9c4e9e34477b19b5abf25193dbc3a41.tar.gz |
HIR Expand Closures - Move closure prefix to a common location
Diffstat (limited to 'src/trans')
-rw-r--r-- | src/trans/auto_impls.cpp | 3 | ||||
-rw-r--r-- | src/trans/enumerate.cpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/trans/auto_impls.cpp b/src/trans/auto_impls.cpp index 71f95a26..67a9e7c1 100644 --- a/src/trans/auto_impls.cpp +++ b/src/trans/auto_impls.cpp @@ -109,8 +109,7 @@ void Trans_AutoImpl_Clone(State& state, ::HIR::TypeRef ty) default: TODO(sp, "auto Clone for " << ty << " - Unknown and not Copy"); TU_ARMA(Path, te) { - // closures are identified by the name starting with 'closure#' - if( TU_TEST1(te.path.m_data, Generic, .m_path.m_components.back().compare(0, 8, "closure#") == 0) ) { + if( te.is_closure() ) { const auto& gp = te.path.m_data.as_Generic(); const auto& str = state.resolve.m_crate.get_struct_by_path(sp, gp.m_path); Trans_Params p; diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp index d8426022..34d18781 100644 --- a/src/trans/enumerate.cpp +++ b/src/trans/enumerate.cpp @@ -1447,7 +1447,7 @@ void Trans_Enumerate_FillFrom_PathMono(EnumState& state, ::HIR::Path path_mono) else if( const auto* te = inner_ty.m_data.opt_Array() ) { enum_impl(*te->inner); } - else if( TU_TEST2(inner_ty.m_data, Path, .path.m_data, Generic, .m_path.m_components.back().compare(0, 8, "closure#") == 0) ) { + else if( TU_TEST1(inner_ty.m_data, Path, .is_closure()) ) { const auto& gp = inner_ty.m_data.as_Path().path.m_data.as_Generic(); const auto& str = state.crate.get_struct_by_path(sp, gp.m_path); Trans_Params p; |