From d2d53e1daf9c138426ec55b7eef7b407da25eba2 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 6 Aug 2016 17:27:08 +0800 Subject: HIR - Start on closure annotations --- src/hir/expr.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') 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 m_var_captures; + ExprNode_Closure(Span sp, args_t args, ::HIR::TypeRef rv, ::HIR::ExprNodeP code): ExprNode(mv$(sp)), m_args( ::std::move(args) ), -- cgit v1.2.3