SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: S = struct @align(4) {
  field0:f32 @offset(0)
  age:array<f32> @offset(4)
}

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

%main_1 = func():void {
  $B2: {
    %3:ptr<storage, f32, read_write> = access %myvar, 1u, 2u
    store %3, 42.0f
    ret
  }
}
%tint_symbol = @fragment func():void {
  $B3: {
    %5:void = call %main_1
    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.  *
********************************************************************
