writer/hlsl: Zero initialize with (T) 0

For structures and arrays.
This behaves identically to the per-element zero-initialization, but can be significantly less verbose.

Change-Id: I380ef86f16c2b3f37a9de2820e707f368955b761
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/56764
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/test/expressions/zero_init/struct/array.wgsl.expected.hlsl b/test/expressions/zero_init/struct/array.wgsl.expected.hlsl
index 6bb77c6..c514b14 100644
--- a/test/expressions/zero_init/struct/array.wgsl.expected.hlsl
+++ b/test/expressions/zero_init/struct/array.wgsl.expected.hlsl
@@ -11,5 +11,5 @@
 };
 
 void f() {
-  S v = {{{0.0f, 0.0f, 0.0f, 0.0f}}};
+  S v = (S)0;
 }