summaryrefslogtreecommitdiff
path: root/src/hir/pattern.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-05-04 17:36:07 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-05-04 17:36:07 +0800
commit8a74857d5a6323a46757f12078b46718464a006d (patch)
tree59995482609e4ebf33a4de6a1316377b2181d92f /src/hir/pattern.hpp
parent771c9385a5d7213cb12c1d7b969553b3402c498b (diff)
downloadmrust-8a74857d5a6323a46757f12078b46718464a006d.tar.gz
Match Ergonomics - Auto-deref in `ref` patterns to get `&T`
Diffstat (limited to 'src/hir/pattern.hpp')
-rw-r--r--src/hir/pattern.hpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/hir/pattern.hpp b/src/hir/pattern.hpp
index cd6c7422..d16fd942 100644
--- a/src/hir/pattern.hpp
+++ b/src/hir/pattern.hpp
@@ -32,19 +32,23 @@ struct PatternBinding
::std::string m_name;
unsigned int m_slot;
+ unsigned m_implicit_deref_count = 0;
+
bool is_valid() const { return m_name != ""; }
PatternBinding():
m_mutable(false),
m_type(Type::Move),
m_name(""),
- m_slot(0)
+ m_slot(0),
+ m_implicit_deref_count(0)
{}
PatternBinding(bool mut, Type type, ::std::string name, unsigned int slot):
m_mutable(mut),
m_type(type),
m_name( mv$(name) ),
- m_slot( slot )
+ m_slot( slot ),
+ m_implicit_deref_count(0)
{}
};