diff --git a/src/formula/variant.cpp b/src/formula/variant.cpp index ef9b35673a86..c65cbc51e809 100644 --- a/src/formula/variant.cpp +++ b/src/formula/variant.cpp @@ -180,12 +180,6 @@ variant::variant(const std::map& map) assert(value_.get()); } -variant& variant::operator=(const variant& v) -{ - value_ = v.value_; - return *this; -} - variant variant::operator[](size_t n) const { if(is_callable()) { diff --git a/src/formula/variant.hpp b/src/formula/variant.hpp index c01ea48c6a1d..245f169657e0 100644 --- a/src/formula/variant.hpp +++ b/src/formula/variant.hpp @@ -36,6 +36,8 @@ class variant explicit variant(const std::vector& array); explicit variant(const std::string& str); explicit variant(const std::map& map); + variant(const variant& v) = default; + variant(variant&& v) = default; template variant(std::shared_ptr callable) @@ -44,7 +46,8 @@ class variant assert(value_.get()); } - variant& operator=(const variant& v); + variant& operator=(const variant& v) = default; + variant& operator=(variant&& v) = default; variant operator[](size_t n) const; variant operator[](const variant& v) const;