summaryrefslogtreecommitdiff
path: root/src/ast
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-05-29 16:23:29 +0800
committerJohn Hodge <tpg@mutabah.net>2016-05-29 16:23:29 +0800
commitd97f3089b257754741326bda377103d2c99f263e (patch)
tree4c23946577af4786f427c8da365bbd019885454d /src/ast
parentf6b5e16db50450be409330e6dddfb218c8b5afb7 (diff)
downloadmrust-d97f3089b257754741326bda377103d2c99f263e.tar.gz
HIR Typecheck - Start on expression type checking/inferrence
Diffstat (limited to 'src/ast')
-rw-r--r--src/ast/ast.hpp7
-rw-r--r--src/ast/pattern.cpp1
-rw-r--r--src/ast/pattern.hpp4
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}) )
{}