summaryrefslogtreecommitdiff
path: root/src/ast/pattern.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-05-25 23:16:23 +0800
committerJohn Hodge <tpg@mutabah.net>2016-05-25 23:16:23 +0800
commitdd7680bc0d53f02e4b96b2b3896ebea16742c9bb (patch)
tree1c28b4c3a9e5493d8f4ca23c28e438497b385c4a /src/ast/pattern.hpp
parent677cfbea5c6652e96fffd70a2bcd7078a42b4387 (diff)
downloadmrust-dd7680bc0d53f02e4b96b2b3896ebea16742c9bb.tar.gz
Parse - Use interpolated macro fragments instead of captured TTs
Diffstat (limited to 'src/ast/pattern.hpp')
-rw-r--r--src/ast/pattern.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ast/pattern.hpp b/src/ast/pattern.hpp
index 468bf306..a901ac89 100644
--- a/src/ast/pattern.hpp
+++ b/src/ast/pattern.hpp
@@ -52,8 +52,12 @@ private:
Data m_data;
public:
+ virtual ~Pattern();
+
Pattern()
{}
+ Pattern(Pattern&&) = default;
+ Pattern& operator=(Pattern&&) = default;
struct TagMaybeBind {};
Pattern(TagMaybeBind, ::std::string name):
@@ -128,6 +132,9 @@ public:
const Span& span() const { return m_span; }
void set_span(Span sp) { m_span = mv$(sp); }
+
+ Pattern clone() const;
+
// Accessors
const ::std::string& binding() const { return m_binding; }
const BindType& binding_type() const { assert(m_binding != ""); return m_binding_type; }