#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;
}

kernel void tint_symbol(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}}});
}
