SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: ComputeInputs = struct @align(4) {
  subgroup_invocation_id:u32 @offset(0), @builtin(subgroup_invocation_id)
  subgroup_size:u32 @offset(4), @builtin(subgroup_size)
}

$B1: {  # root
  %output:ptr<storage, array<u32>, read_write> = var @binding_point(0, 0)
}

%tint_symbol = @compute @workgroup_size(1, 1, 1) func(%inputs:ComputeInputs):void {
  $B2: {
    %4:u32 = access %inputs, 0u
    %5:ptr<storage, u32, read_write> = access %output, %4
    %6:u32 = access %inputs, 1u
    store %5, %6
    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.  *
********************************************************************
