[dawn] Fix call to missing copy-constructor SystemHandle has an implicitly deleted copy constructor, but a return via implicit wrapping of a ResultOrError was causing some compilers to try to use the copy-constructor. Instead, explicitly move to a ResultOrError. Change-Id: Ib08eab89a03feb67a7c5047355cb5290bb662951 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/170860 Kokoro: Ben Clayton <bclayton@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com> Auto-Submit: Ben Clayton <bclayton@google.com>
diff --git a/src/dawn/native/SystemHandle.h b/src/dawn/native/SystemHandle.h index 4026ba4..ea3460f 100644 --- a/src/dawn/native/SystemHandle.h +++ b/src/dawn/native/SystemHandle.h
@@ -28,6 +28,8 @@ #ifndef SRC_DAWN_NATIVE_SYSTEMHANDLE_H_ #define SRC_DAWN_NATIVE_SYSTEMHANDLE_H_ +#include <utility> + #include "dawn/common/NonCopyable.h" #include "dawn/common/Platform.h" #include "dawn/native/Error.h" @@ -66,7 +68,7 @@ SystemHandle dupHandle; DAWN_TRY_ASSIGN(dupHandle, tmpOwnedHandle.Duplicate()); tmpOwnedHandle.Detach(); - return dupHandle; + return ResultOrError<SystemHandle>{std::move(dupHandle)}; } bool IsValid() const;