code: def test_check_overlapping(self):
      shards = [
          ShardMetadata(
              shard_offsets=[0, 0],
              shard_sizes=[5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[5, 0],
              shard_sizes=[5, 5],
              placement="cuda:1",
          ),
      ]
      validate_non_overlapping_shards_metadata(shards)
  
      shards = [
          ShardMetadata(
              shard_offsets=[0, 0],
              shard_sizes=[5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[4, 0],
              shard_sizes=[5, 5],
              placement="cuda:1",
          ),
      ]
      with self.assertRaisesRegex(ValueError, "overlap"):
          validate_non_overlapping_shards_metadata(shards)
  
      shards = [
          ShardMetadata(
              shard_offsets=[0, 0],
              shard_sizes=[5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[0, 4],
              shard_sizes=[5, 5],
              placement="cuda:1",
          ),
      ]
      with self.assertRaisesRegex(ValueError, "overlap"):
          validate_non_overlapping_shards_metadata(shards)
  
      shards = [
          ShardMetadata(
              shard_offsets=[5, 0, 5],
              shard_sizes=[5, 5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[5, 5, 5],
              shard_sizes=[5, 5, 5],
              placement="cuda:1",
          ),
      ]
      validate_non_overlapping_shards_metadata(shards)
  
      shards = [
          ShardMetadata(
              shard_offsets=[5, 0, 5],
              shard_sizes=[5, 5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[5, 4, 5],
              shard_sizes=[5, 5, 5],
              placement="cuda:1",
          ),
      ]
      with self.assertRaisesRegex(ValueError, "overlap"):
          validate_non_overlapping_shards_metadata(shards)
  
      shards = [
          ShardMetadata(
              shard_offsets=[5, 0, 5],
              shard_sizes=[5, 5, 5],
              placement="cuda:0",
          ),
          ShardMetadata(
              shard_offsets=[5, 4, 9],
              shard_sizes=[5, 5, 5],
              placement="cuda:1",
          ),
      ]
      with self.assertRaisesRegex(ValueError, "overlap"):
          validate_non_overlapping_shards_metadata(shards)
  
imports: from typing import List, Union
  from dataclasses import dataclass
  import copy
  import torch
  from torch.testing._internal.common_utils import TestCase
  from torch.testing._internal.common_distributed import requires_nccl, skip_if_lt_x_gpu
  from torch.distributed._shard import sharded_tensor, _shard_tensor
  from torch.distributed._shard.sharding_spec import ShardingSpec, ChunkShardingSpec, DevicePlacementSpec, EnumerableShardingSpec, ShardMetadata, _infer_sharding_spec_from_shards_metadata
  from torch.distributed._shard.sharded_tensor import TensorProperties, ShardedTensor, ShardedTensorMetadata
  from torch.distributed._shard.sharding_spec._internals import check_tensor, get_split_size, get_chunked_dim_size, get_chunk_sharding_params, validate_non_overlapping_shards_metadata
  from torch.testing._internal.common_cuda import TEST_MULTIGPU
  from torch.testing._internal.common_utils import run_tests, skip_but_pass_in_sandcastle_if
  from torch.testing._internal.distributed._shard.sharded_tensor._test_st_common import _chunk_sharding_specs_list_for_test
  from torch.testing._internal.distributed._shard.sharded_tensor import ShardedTensorTestBase, with_comms
label_desc: Use image node_id 10 for calling the TestShardingSpec obj's underlying member method code with example usage: obj.test_check_overlapping() without return types