diff options
author | John Hodge <tpg@mutabah.net> | 2016-05-29 16:23:29 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-05-29 16:23:29 +0800 |
commit | d97f3089b257754741326bda377103d2c99f263e (patch) | |
tree | 4c23946577af4786f427c8da365bbd019885454d /src/ast | |
parent | f6b5e16db50450be409330e6dddfb218c8b5afb7 (diff) | |
download | mrust-d97f3089b257754741326bda377103d2c99f263e.tar.gz |
HIR Typecheck - Start on expression type checking/inferrence
Diffstat (limited to 'src/ast')
-rw-r--r-- | src/ast/ast.hpp | 7 | ||||
-rw-r--r-- | src/ast/pattern.cpp | 1 | ||||
-rw-r--r-- | src/ast/pattern.hpp | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/ast/ast.hpp b/src/ast/ast.hpp index 8c27b765..2e939e0c 100644 --- a/src/ast/ast.hpp +++ b/src/ast/ast.hpp @@ -205,10 +205,13 @@ class Trait: bool m_is_marker;
NamedList<Item> m_items;
public:
- Trait() {}
+ Trait():
+ m_is_marker(false)
+ {}
Trait(GenericParams params, ::std::vector< Spanned<Path> > supertraits):
m_params( mv$(params) ),
- m_supertraits( mv$(supertraits) )
+ m_supertraits( mv$(supertraits) ),
+ m_is_marker(false)
{
}
diff --git a/src/ast/pattern.cpp b/src/ast/pattern.cpp index 80665008..ca5378e1 100644 --- a/src/ast/pattern.cpp +++ b/src/ast/pattern.cpp @@ -173,6 +173,7 @@ AST::Pattern AST::Pattern::clone() const AST::Pattern rv; rv.m_span = m_span; rv.m_binding = m_binding; + rv.m_binding_type = m_binding_type; rv.m_binding_mut = m_binding_mut; struct H { diff --git a/src/ast/pattern.hpp b/src/ast/pattern.hpp index a901ac89..79d349c2 100644 --- a/src/ast/pattern.hpp +++ b/src/ast/pattern.hpp @@ -54,7 +54,8 @@ private: public: virtual ~Pattern(); - Pattern() + Pattern(): + m_binding_type(BIND_MOVE) {} Pattern(Pattern&&) = default; Pattern& operator=(Pattern&&) = default; @@ -62,6 +63,7 @@ public: struct TagMaybeBind {}; Pattern(TagMaybeBind, ::std::string name): m_binding(""), + m_binding_type(BIND_MOVE), m_data( Data::make_MaybeBind({name}) ) {} |