diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-06 17:27:08 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-06 17:27:08 +0800 |
commit | d2d53e1daf9c138426ec55b7eef7b407da25eba2 (patch) | |
tree | ce1911115f7274ba8adb7fb9a1b347b1e0b14f0f | |
parent | ddaddbad7227febdfae053dade5f31279ada8a97 (diff) | |
download | mrust-d2d53e1daf9c138426ec55b7eef7b407da25eba2.tar.gz |
HIR - Start on closure annotations
-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) ), |