code: def test_metrics_show_overlap(
      tmp_dir, dvc, run_copy_metrics, clear_before_run
  ):
      data_dir = tmp_dir / "data"
      data_dir.mkdir()
  
      (data_dir / "m1_temp.yaml").dump({"a": {"b": {"c": 2, "d": 1}}})
      run_copy_metrics(
          str(data_dir / "m1_temp.yaml"),
          str(data_dir / "m1.yaml"),
          single_stage=False,
          commit="add m1",
          name="cp-m1",
          metrics=[str(data_dir / "m1.yaml")],
      )
      with (tmp_dir / "dvc.yaml").modify() as d:
          # trying to make an output overlaps error
          d["stages"]["corrupted-stage"] = {
              "cmd": "mkdir data",
              "outs": ["data"],
          }
  
      # running by clearing and not clearing stuffs
      # so as it works even for optimized cases
      if clear_before_run:
          remove(data_dir)
          remove(dvc.cache.local.path)
  
      dvc._reset()
  
      res = dvc.metrics.show()
      assert isinstance(res[""]["error"], OverlappingOutputPathsError)
  
imports: import json
  import os
  from os.path import join
  import pytest
  from funcy import get_in
  from dvc.cli import main
  from dvc.dvcfile import PROJECT_FILE
  from dvc.exceptions import OverlappingOutputPathsError
  from dvc.repo import Repo
  from dvc.utils.fs import remove
  from dvc.utils.serialize import JSONFileCorruptedError
label_desc: Use image node_id 18 for calling a global function with example usage: test_metrics_show_overlap(tmp_dir, dvc, run_copy_metrics, clear_before_run) without return types