resolver: Apply some missing explicit casts

These constructor parameters of StructMember take a uint32_t.
The compiler will normally warn / error about this, but there's some quirk of std::make_shared that makes the compiler silence this warning (possibly because the constructor call is in the STL?).

Was noticed when experimenting with BlockAllocator::Create() to reduce binary size.

Change-Id: I8cdf5078150927e5624752ee7374305c0a5982f0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/66448
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/resolver/resolver.cc b/src/resolver/resolver.cc
index 2afd09c..1323131 100644
--- a/src/resolver/resolver.cc
+++ b/src/resolver/resolver.cc
@@ -4279,7 +4279,9 @@
 
     auto* sem_member = builder_->create<sem::StructMember>(
         member, member->symbol(), const_cast<sem::Type*>(type),
-        static_cast<uint32_t>(sem_members.size()), offset, align, size);
+        static_cast<uint32_t>(sem_members.size()),
+        static_cast<uint32_t>(offset), static_cast<uint32_t>(align),
+        static_cast<uint32_t>(size));
     builder_->Sem().Add(member, sem_member);
     sem_members.emplace_back(sem_member);