summaryrefslogtreecommitdiff
path: root/src/common.hpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-07-20 14:33:01 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-07-20 14:33:01 +0800
commit4ffc42457c1265dfa6ee3bb2418f16ed4fd57fef (patch)
treeb203b2cc6836ca7ade468818cc1a42a0e96fc8e2 /src/common.hpp
parent50c96bfab2b0bad4845a8a6beec096239a1840ab (diff)
downloadmrust-4ffc42457c1265dfa6ee3bb2418f16ed4fd57fef.tar.gz
HIR Typecheck - Move NullOnDrop to a common location
Diffstat (limited to 'src/common.hpp')
-rw-r--r--src/common.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common.hpp b/src/common.hpp
index 4cea1633..0363c334 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -412,5 +412,17 @@ RunIterable<T> runs(const ::std::vector<T>& x) {
return RunIterable<T>(x);
}
+template<typename T>
+class NullOnDrop {
+ T*& ptr;
+public:
+ NullOnDrop(T*& ptr):
+ ptr(ptr)
+ {}
+ ~NullOnDrop() {
+ ptr = nullptr;
+ }
+};
+
#endif