[tint] Header-build fixes

Fixes for builds where headers are compiled

Change-Id: Ica2a0b3f5f9ccbd2f8e5cc940f5e39c0a0629063
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/151421
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/lang/core/ir/return.cc b/src/tint/lang/core/ir/return.cc
index aac03dc..ab6e841 100644
--- a/src/tint/lang/core/ir/return.cc
+++ b/src/tint/lang/core/ir/return.cc
@@ -33,4 +33,8 @@
 
 Return::~Return() = default;
 
+Function* Return::Func() const {
+    return tint::As<Function>(operands_[kFunctionOperandOffset]);
+}
+
 }  // namespace tint::core::ir
diff --git a/src/tint/lang/core/ir/return.h b/src/tint/lang/core/ir/return.h
index f44b284..f5b8c8a 100644
--- a/src/tint/lang/core/ir/return.h
+++ b/src/tint/lang/core/ir/return.h
@@ -48,7 +48,7 @@
     ~Return() override;
 
     /// @returns the function being returned
-    Function* Func() { return tint::As<Function>(operands_[kFunctionOperandOffset]); }
+    Function* Func() const;
 
     /// @returns the return value, or nullptr
     ir::Value* Value() const {
diff --git a/src/tint/lang/spirv/intrinsic/data/type_matchers.h b/src/tint/lang/spirv/intrinsic/data/type_matchers.h
index 9708866..63c99cd4 100644
--- a/src/tint/lang/spirv/intrinsic/data/type_matchers.h
+++ b/src/tint/lang/spirv/intrinsic/data/type_matchers.h
@@ -16,6 +16,8 @@
 #define SRC_TINT_LANG_SPIRV_INTRINSIC_DATA_TYPE_MATCHERS_H_
 
 #include "src/tint/lang/core/intrinsic/table.h"
+#include "src/tint/lang/core/type/array.h"
+#include "src/tint/lang/core/type/struct.h"
 
 namespace tint::spirv::intrinsic::data {