tint/resolver: Resolve builtin structs

Allow the resolver to understand builtin structures, like
__frexp_result_f16. This allows backend transforms to declare the types,
even if they're "untypable" by the user.

Bug: chromium:1430309
Change-Id: I392709118182a058f737ccf1b7b46fc6b0b7264d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129482
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index b4f5eea..49b14fc 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -1470,7 +1470,7 @@
 
     /// @param name the symbol string
     /// @return a Symbol with the given name
-    Symbol Sym(const std::string& name) { return Symbols().Register(name); }
+    Symbol Sym(std::string_view name) { return Symbols().Register(name); }
 
     /// @param enumerator the enumerator
     /// @return a Symbol with the given enum value