def METHOD_NAME(
    self,
    fullname: str,
    path: Sequence[str | bytes] | None = None,
    target: ModuleType | None = None,
) -> ModuleSpec | None:
    if fullname in sys.modules:
        return None
    if _ALREADY_BUILT.get():
        # At this point we'll just import normally.
        return None
    mod_parts = fullname.split(".")
    module_name = mod_parts[-1]
    cwd = pathlib.Path(os.getcwd())
    # Full Cargo project in cwd
    cargo_toml = cwd / "Cargo.toml"
    if _is_cargo_project(cargo_toml, module_name):
        return self._build_and_load(fullname, cargo_toml)
    # Full Cargo project in subdirectory of cwd
    cargo_toml = cwd / module_name / "Cargo.toml"
    if _is_cargo_project(cargo_toml, module_name):
        return self._build_and_load(fullname, cargo_toml)
    # module name with '-' instead of '_'
    cargo_toml = cwd / module_name.replace("_", "-") / "Cargo.toml"
    if _is_cargo_project(cargo_toml, module_name):
        return self._build_and_load(fullname, cargo_toml)
    # Single .rs file
    rust_file = cwd / (module_name + ".rs")
    if rust_file.exists():
        project_dir = generate_project(rust_file, bindings=self.bindings or "pyo3")
        cargo_toml = project_dir / "Cargo.toml"
        return self._build_and_load(fullname, cargo_toml)
    return None