code: def test_serialize_numpy_ma_masked_array(x):
      (y,) = loads(dumps([to_serialize(x)]))
      assert x.data.dtype == y.data.dtype
      np.testing.assert_equal(x.data, y.data)
      np.testing.assert_equal(x.mask, y.mask)
      np.testing.assert_equal(x.fill_value, y.fill_value)
  
imports: from __future__ import annotations
  from zlib import crc32
  import pytest
  from dask.utils import ensure_bytes, tmpfile
  from distributed.protocol import decompress, deserialize, dumps, loads, msgpack, serialize, to_serialize
  from distributed.protocol.compression import maybe_compress
  from distributed.protocol.numpy import itemsize
  from distributed.protocol.utils import BIG_BYTES_SHARD_SIZE
  from distributed.system import MEMORY_LIMIT
  from distributed.utils import nbytes
  from distributed.utils_test import gen_cluster
label_desc: Use image node_id 4 for calling a global function with example usage: test_serialize_numpy_ma_masked_array(x) without return types