diff --git a/vm/data_roots.hpp b/vm/data_roots.hpp index 6cb546734a..9f26556ea0 100644 --- a/vm/data_roots.hpp +++ b/vm/data_roots.hpp @@ -26,7 +26,15 @@ template struct data_root : public tagged { return *this; } - ~data_root() { parent->data_roots.pop_back(); } + ~data_root() { + parent->data_roots.pop_back(); + } + + friend void swap(data_root& a, data_root& b) { + cell tmp = a.value_; + a.value_ = b.value_; + b.value_ = tmp; + } }; /* A similar hack for the bignum implementation */