SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:775 internal compiler error: FragmentOutputs = struct @align(16) {
  loc0:i32 @offset(0), @location(0)
  loc1:u32 @offset(4), @location(1)
  loc2:f32 @offset(8), @location(2)
  loc3:vec4<f32> @offset(16), @location(3)
  loc4:f16 @offset(32), @location(4)
  loc5:vec3<f16> @offset(40), @location(5)
}

%tint_symbol = @fragment func():FragmentOutputs -> %b1 {
  %b1 = block {
    ret FragmentOutputs(1i, 1u, 1.0f, vec4<f32>(1.0f, 2.0f, 3.0f, 4.0f), 2.25h, vec3<f16>(3.0h, 5.0h, 8.0h))
  }
}

invalid entry point IO struct uses
********************************************************************
*  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.  *
********************************************************************
