SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:469 internal compiler error: %b1 = block {  # root
  %prevent_dce:ptr<storage, vec3<f16>, read_write> = var @binding_point(2, 0)
}

%acos_f47057 = func():void -> %b2 {
  %b2 = block {
    %res:ptr<function, vec3<f16>, read_write> = var, vec3<f16>(0.25048828125h)
    %4:vec3<f16> = load %res
    store %prevent_dce, %4
    ret
  }
}
%vertex_main = @vertex func():vec4<f32> [@position] -> %b3 {
  %b3 = block {
    %6:void = call %acos_f47057
    ret vec4<f32>(0.0f)
  }
}
%fragment_main = @fragment func():void -> %b4 {
  %b4 = block {
    %8:void = call %acos_f47057
    ret
  }
}
%compute_main = @compute @workgroup_size(1, 1, 1) func():void -> %b5 {
  %b5 = block {
    %10:void = call %acos_f47057
    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.  *
********************************************************************
