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.