summaryrefslogtreecommitdiff
path: root/src/hir/crate_ptr.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/crate_ptr.hpp')
-rw-r--r--src/hir/crate_ptr.hpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/hir/crate_ptr.hpp b/src/hir/crate_ptr.hpp
index ca95074d..df60329e 100644
--- a/src/hir/crate_ptr.hpp
+++ b/src/hir/crate_ptr.hpp
@@ -14,8 +14,18 @@ class CratePtr
public:
CratePtr();
CratePtr(Crate c);
- CratePtr(CratePtr&&) = default;
- CratePtr& operator=(CratePtr&&) = default;
+ CratePtr(CratePtr&& x):
+ m_ptr( x.m_ptr )
+ {
+ x.m_ptr = nullptr;
+ }
+ CratePtr& operator=(CratePtr&& x)
+ {
+ this->~CratePtr();
+ m_ptr = x.m_ptr;
+ x.m_ptr = nullptr;
+ return *this;
+ }
~CratePtr();
};