diff --git a/tstl/include/unique_ptr.hpp b/tstl/include/unique_ptr.hpp index 135551fc..e0a7d0cc 100644 --- a/tstl/include/unique_ptr.hpp +++ b/tstl/include/unique_ptr.hpp @@ -187,11 +187,11 @@ public: } void reset(pointer_type p){ - if(get() != pointer_type()){ - get_deleter()(get()); - } - + auto tmp = get(); std::get<0>(_data) = p; + if(tmp){ + get_deleter()(tmp); + } } };