SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:469 internal compiler error: %b1 = block {  # root
  %arg_0:ptr<handle, texture_storage_2d_array<rgba8uint, read>, read> = var @binding_point(1, 0)
  %prevent_dce:ptr<storage, vec4<u32>, read_write> = var @binding_point(2, 0)
}

%textureLoad_b94d15 = func():void -> %b2 {
  %b2 = block {
    %4:texture_storage_2d_array<rgba8uint, read> = load %arg_0
    %5:vec4<u32> = textureLoad %4, vec2<i32>(1i), 1u
    %res:ptr<function, vec4<u32>, read_write> = var, %5
    %7:vec4<u32> = load %res
    store %prevent_dce, %7
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
  %b3 = block {
    %9:void = call %textureLoad_b94d15
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void -> %b4 {
  %b4 = block {
    %11:void = call %textureLoad_b94d15
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
  %b5 = block {
    %13:void = call %textureLoad_b94d15
    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.  *
********************************************************************
