SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: $B1: {  # root
  %arg_0:ptr<handle, texture_storage_1d<rg32uint, read>, read> = var @binding_point(1, 0)
  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
}

%textureLoad_5bb7fb = func():void {
  $B2: {
    %arg_1:ptr<function, i32, read_write> = var, 1i
    %5:texture_storage_1d<rg32uint, read> = load %arg_0
    %6:i32 = load %arg_1
    %7:vec4<u32> = textureLoad %5, %6
    %res:ptr<function, vec4<u32>, read_write> = var, %7
    %9:vec4<u32> = load %res
    store %prevent_dce, %9
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] {
  $B3: {
    %11:void = call %textureLoad_5bb7fb
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void {
  $B4: {
    %13:void = call %textureLoad_5bb7fb
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void {
  $B5: {
    %15:void = call %textureLoad_5bb7fb
    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.  *
********************************************************************
