diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/hir/expr.hpp | 10 |
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) ), |