#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  thread array<array<int, 3>, 2>* zero;
  thread array<array<int, 3>, 2>* init;
};

[[max_total_threads_per_threadgroup(1)]]
kernel void v() {
  thread array<array<int, 3>, 2> zero = {};
  thread array<array<int, 3>, 2> init = array<array<int, 3>, 2>{array<int, 3>{1, 2, 3}, array<int, 3>{4, 5, 6}};
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.zero=(&zero), .init=(&init)};
  array<array<int, 3>, 2> v0 = (*tint_module_vars.zero);
  array<array<int, 3>, 2> v1 = (*tint_module_vars.init);
}
