SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: Uniforms = struct @align(4) {
  i:u32 @offset(0)
}

InnerS = struct @align(4) {
  v:i32 @offset(0)
}

OuterS = struct @align(4) {
  a1:array<InnerS, 8> @offset(0)
  a2:array<InnerS, 8> @offset(32)
}

$B1: {  # root
  %uniforms:ptr<uniform, Uniforms, read> = var @binding_point(1, 4)
}

%tint_symbol = @compute @workgroup_size(1, 1, 1) func():void {
  $B2: {
    %v:ptr<function, InnerS, read_write> = var
    %s1:ptr<function, OuterS, read_write> = var
    %5:ptr<uniform, u32, read> = access %uniforms, 0u
    %6:u32 = load %5
    %7:ptr<function, InnerS, read_write> = access %s1, 0u, %6
    %8:InnerS = load %v
    store %7, %8
    %9:ptr<uniform, u32, read> = access %uniforms, 0u
    %10:u32 = load %9
    %11:ptr<function, InnerS, read_write> = access %s1, 1u, %10
    %12:InnerS = load %v
    store %11, %12
    ret
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
