diff --git a/include/armadillo_bits/MapMat_meat.hpp b/include/armadillo_bits/MapMat_meat.hpp index 6dea74ad..4a64797e 100644 --- a/include/armadillo_bits/MapMat_meat.hpp +++ b/include/armadillo_bits/MapMat_meat.hpp @@ -198,6 +198,8 @@ MapMat::operator=(MapMat&& x) { arma_extra_debug_sigprint(); + if(this == &x) { return; } + reset(); if(map_ptr) { delete map_ptr; } diff --git a/include/armadillo_bits/field_meat.hpp b/include/armadillo_bits/field_meat.hpp index 029b38a5..6ab67999 100644 --- a/include/armadillo_bits/field_meat.hpp +++ b/include/armadillo_bits/field_meat.hpp @@ -427,6 +427,8 @@ field::operator=(field&& X) { arma_extra_debug_sigprint(arma_str::format("this = %x X = %x") % this % &X); + if(this == &X) { return *this; } + reset(); access::rw(n_rows ) = X.n_rows;