Add move assignment operators to tint::ast::Module and tint::Context
This enables usage with DAWN_TRY_ASSIGN in Dawn in simplify error
handling.
Bug: tint:306
Change-Id: I91a96b6670341943c26d9972058ecc3ad8162db0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34640
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/module.cc b/src/ast/module.cc
index fd2090d..635d89b 100644
--- a/src/ast/module.cc
+++ b/src/ast/module.cc
@@ -25,6 +25,7 @@
Module::Module() = default;
Module::Module(Module&&) = default;
+Module& Module::operator=(Module&& rhs) = default;
Module::~Module() = default;
diff --git a/src/ast/module.h b/src/ast/module.h
index 9caf6aa..bd5abbd 100644
--- a/src/ast/module.h
+++ b/src/ast/module.h
@@ -40,6 +40,8 @@
Module();
/// Move constructor
Module(Module&&);
+ // Move assignment
+ Module& operator=(Module&& rhs);
~Module();
/// @return a deep copy of this module
diff --git a/src/ast/type_manager.cc b/src/ast/type_manager.cc
index 3369692..39f4e07 100644
--- a/src/ast/type_manager.cc
+++ b/src/ast/type_manager.cc
@@ -21,6 +21,7 @@
TypeManager::TypeManager() = default;
TypeManager::TypeManager(TypeManager&&) = default;
+TypeManager& TypeManager::operator=(TypeManager&& rhs) = default;
TypeManager::~TypeManager() = default;
void TypeManager::Reset() {
diff --git a/src/ast/type_manager.h b/src/ast/type_manager.h
index f580c1a..b0b9fc6 100644
--- a/src/ast/type_manager.h
+++ b/src/ast/type_manager.h
@@ -31,6 +31,8 @@
TypeManager();
/// Move constructor
TypeManager(TypeManager&&);
+ // Move assignment
+ TypeManager& operator=(TypeManager&& rhs);
~TypeManager();
/// Clears all registered types.