summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hir/expr.hpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/hir/expr.hpp b/src/hir/expr.hpp
index 90ad27a7..47669c3a 100644
--- a/src/hir/expr.hpp
+++ b/src/hir/expr.hpp
@@ -653,6 +653,16 @@ struct ExprNode_Closure:
::HIR::TypeRef m_return;
::HIR::ExprNodeP m_code;
+ enum class Class {
+ Unknown,
+ Shared,
+ Mut,
+ Once,
+ } m_class = Class::Unknown;
+ bool m_is_move = false;
+
+ ::std::vector<unsigned int> m_var_captures;
+
ExprNode_Closure(Span sp, args_t args, ::HIR::TypeRef rv, ::HIR::ExprNodeP code):
ExprNode(mv$(sp)),
m_args( ::std::move(args) ),