summaryrefslogtreecommitdiff
path: root/src/hir/expr.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-12-18 22:03:32 +0800
committerJohn Hodge <tpg@mutabah.net>2016-12-18 22:03:32 +0800
commit273bdd41d46ce0558877af7fa10bc665b92721d5 (patch)
tree77dcb52f1b3e1a4a2537e9ec13a5940ceb6dc427 /src/hir/expr.hpp
parent9ceef3de36f310e45913a5fcc60696609ea0a31f (diff)
downloadmrust-273bdd41d46ce0558877af7fa10bc665b92721d5.tar.gz
HIR - Move closures
Diffstat (limited to 'src/hir/expr.hpp')
-rw-r--r--src/hir/expr.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/hir/expr.hpp b/src/hir/expr.hpp
index b963834f..5bb7f248 100644
--- a/src/hir/expr.hpp
+++ b/src/hir/expr.hpp
@@ -756,6 +756,7 @@ struct ExprNode_Closure:
args_t m_args;
::HIR::TypeRef m_return;
::HIR::ExprNodeP m_code;
+ bool m_is_move = false;
enum class Class {
Unknown,
@@ -764,18 +765,18 @@ struct ExprNode_Closure:
Mut,
Once,
} m_class = Class::Unknown;
- bool m_is_move = false;
// - Path to the generated closure type
::HIR::GenericPath m_obj_path_base;
::HIR::GenericPath m_obj_path;
::std::vector< ::HIR::ExprNodeP> m_captures;
- ExprNode_Closure(Span sp, args_t args, ::HIR::TypeRef rv, ::HIR::ExprNodeP code):
+ ExprNode_Closure(Span sp, args_t args, ::HIR::TypeRef rv, ::HIR::ExprNodeP code, bool is_move):
ExprNode(mv$(sp)),
m_args( ::std::move(args) ),
m_return( ::std::move(rv) ),
- m_code( ::std::move(code) )
+ m_code( ::std::move(code) ),
+ m_is_move(is_move)
{}
NODE_METHODS();