#include <metal_stdlib>
using namespace metal;

struct S1 {
  int i;
};

struct S2 {
  S1 s1;
};

struct S3 {
  S2 s2;
};

struct tint_module_vars_struct {
  device int* out;
};

int f(S3 s3) {
  return s3.s2.s1.i;
}

[[max_total_threads_per_threadgroup(1)]]
kernel void v(device int* out [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.out=out};
  (*tint_module_vars.out) = f(S3{.s2=S2{.s1=S1{.i=42}}});
}
