fix: UvHandle move semantics (#43615)

reassign the uv_handle_t of the source
This commit is contained in:
Charles Kerr 2024-09-09 07:13:39 -05:00 committed by GitHub
parent 0d4d752c1b
commit 8c5e7bbf6b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -62,8 +62,17 @@ class UvHandle {
UvHandle() : t_{new T} {}
~UvHandle() { reset(); }
UvHandle(UvHandle&&) = default;
UvHandle& operator=(UvHandle&&) = default;
explicit UvHandle(UvHandle&& that) {
t_ = that.t_;
that.t_ = nullptr;
}
UvHandle& operator=(UvHandle&& that) {
reset();
t_ = that.t_;
that.t_ = nullptr;
return *this;
}
UvHandle(const UvHandle&) = delete;
UvHandle& operator=(const UvHandle&) = delete;