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.