[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 4026ba42..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;