diff options
author | John Hodge <tpg@ucc.asn.au> | 2019-05-04 17:36:07 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2019-05-04 17:36:07 +0800 |
commit | 8a74857d5a6323a46757f12078b46718464a006d (patch) | |
tree | 59995482609e4ebf33a4de6a1316377b2181d92f /src/hir/pattern.hpp | |
parent | 771c9385a5d7213cb12c1d7b969553b3402c498b (diff) | |
download | mrust-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.hpp | 8 |
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) {} }; |