SKIP: FAILED

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

%tint_symbol = @compute @workgroup_size(1, 1, 1) func():void -> %b2 {
  %b2 = block {
    %x:i32 = let 42i
    %empty:array<i32, 4> = let array<i32, 4>(0i)
    %nonempty:array<i32, 4> = let array<i32, 4>(1i, 2i, 3i, 4i)
    %6:i32 = add %x, 1i
    %7:i32 = access %nonempty, 3i
    %8:array<i32, 4> = construct 1i, %x, %6, %7
    %nonempty_with_expr:array<i32, 4> = let %8
    %nested_empty:array<array<array<i32, 4>, 3>, 2> = let array<array<array<i32, 4>, 3>, 2>(array<array<i32, 4>, 3>(array<i32, 4>(0i)))
    %nested_nonempty:array<array<array<i32, 4>, 3>, 2> = let array<array<array<i32, 4>, 3>, 2>(array<array<i32, 4>, 3>(array<i32, 4>(1i, 2i, 3i, 4i), array<i32, 4>(5i, 6i, 7i, 8i), array<i32, 4>(9i, 10i, 11i, 12i)), array<array<i32, 4>, 3>(array<i32, 4>(13i, 14i, 15i, 16i), array<i32, 4>(17i, 18i, 19i, 20i), array<i32, 4>(21i, 22i, 23i, 24i)))
    %12:i32 = add %x, 1i
    %13:array<i32, 4> = construct 1i, 2i, %x, %12
    %14:array<i32, 4> = let %13
    %15:i32 = access %nonempty, 2i
    %16:i32 = access %nonempty, 3i
    %17:i32 = add %16, 1i
    %18:array<i32, 4> = construct 5i, 6i, %15, %17
    %19:array<array<i32, 4>, 3> = construct %14, %18, %nonempty
    %20:array<array<i32, 4>, 3> = access %nested_nonempty, 1i
    %21:array<array<array<i32, 4>, 3>, 2> = construct %19, %20
    %nested_nonempty_with_expr:array<array<array<i32, 4>, 3>, 2> = let %21
    %subexpr_empty:i32 = let 0i
    %subexpr_nonempty:i32 = let 3i
    %25:i32 = add %x, 1i
    %26:i32 = access %nonempty, 3i
    %27:array<i32, 4> = construct 1i, %x, %25, %26
    %28:i32 = access %27, 2i
    %subexpr_nonempty_with_expr:i32 = let %28
    %subexpr_nested_empty:array<i32, 4> = let array<i32, 4>(0i)
    %subexpr_nested_nonempty:array<i32, 4> = let array<i32, 4>(5i, 6i, 7i, 8i)
    %32:i32 = add %x, 1i
    %33:i32 = access %nonempty, 3i
    %34:array<i32, 4> = construct 1i, %x, %32, %33
    %35:array<i32, 4> = access %nested_nonempty, 1i, 2i
    %36:array<array<i32, 4>, 2> = construct %34, %35
    %37:array<i32, 4> = access %36, 1i
    %subexpr_nested_nonempty_with_expr:array<i32, 4> = let %37
    %39:i32 = access %empty, 0i
    %40:i32 = access %nonempty, 0i
    %41:i32 = add %39, %40
    %42:i32 = access %nonempty_with_expr, 0i
    %43:i32 = add %41, %42
    %44:i32 = access %nested_empty, 0i, 0i, 0i
    %45:i32 = add %43, %44
    %46:i32 = access %nested_nonempty, 0i, 0i, 0i
    %47:i32 = add %45, %46
    %48:i32 = access %nested_nonempty_with_expr, 0i, 0i, 0i
    %49:i32 = add %47, %48
    %50:i32 = add %49, %subexpr_empty
    %51:i32 = add %50, %subexpr_nonempty
    %52:i32 = add %51, %subexpr_nonempty_with_expr
    %53:i32 = access %subexpr_nested_empty, 0i
    %54:i32 = add %52, %53
    %55:i32 = access %subexpr_nested_nonempty, 0i
    %56:i32 = add %54, %55
    %57:i32 = access %subexpr_nested_nonempty_with_expr, 0i
    %58:i32 = add %56, %57
    store %s, %58
    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.  *
********************************************************************
