def METHOD_NAME(self) -> None:
    with open(os.path.join(self.test_driver.repo_dir, "a.php"), "w") as f:
        f.write(
            """<?hh
        <<file:__EnableUnstableFeatures('upcast_expression')>>
        <<__SupportDynamicType>>
        function h(shape(...) $m): int {
          $x = h<> upcast dynamic;
        }
        <<__SupportDynamicType>>
        function g(int $m): int {
          $x = g<> upcast dynamic;
        }
        """
        )
    with open(os.path.join(self.test_driver.repo_dir, "b.php"), "w") as f:
        f.write(
            """<?hh
            <<file:__EnableUnstableFeatures('upcast_expression')>>
            <<__SupportDynamicType>>
            function b(dynamic $d): void {
              $y = h<> upcast dynamic;
              $d(3);
            }
            """
        )
    with open(os.path.join(self.test_driver.repo_dir, "c.php"), "w") as f:
        f.write(
            """<?hh
            <<file:__EnableUnstableFeatures('upcast_expression')>>
            <<__SupportDynamicType>>
            function c(int $i): void {
              $z = h<> upcast dynamic;
            }
            """
        )
    self.write_load_config()
    self.test_driver.start_hh_server(
        changed_files=["a.php", "b.php", "c.php"], args=["--no-load"]
    )
    self.check_upcast_cmd(
        "Function",
        "h",
        [
            f'File "{self.test_driver.repo_dir}/a.php", line 5, characters 20-37:',
            f'File "{self.test_driver.repo_dir}/b.php", line 5, characters 24-41:',
            f'File "{self.test_driver.repo_dir}/c.php", line 5, characters 24-41:',
        ],
    )