diff --git a/stdlib/argparse.pyi b/stdlib/argparse.pyi index 1b86a4e10cbb..88fd656f7de7 100644 --- a/stdlib/argparse.pyi +++ b/stdlib/argparse.pyi @@ -205,20 +205,33 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer): def print_help(self, file: IO[str] | None = ...) -> None: ... def format_usage(self) -> str: ... def format_help(self) -> str: ... - def parse_known_args( - self, args: Sequence[str] | None = ..., namespace: Namespace | None = ... - ) -> tuple[Namespace, list[str]]: ... + @overload + def parse_known_args(self, args: Sequence[str] | None = ..., namespace: None = ...) -> tuple[Namespace, list[str]]: ... # type: ignore[misc] + @overload + def parse_known_args(self, args: Sequence[str] | None, namespace: _N) -> tuple[_N, list[str]]: ... + @overload + def parse_known_args(self, args: Sequence[str] | None = ..., *, namespace: _N) -> tuple[_N, list[str]]: ... def convert_arg_line_to_args(self, arg_line: str) -> list[str]: ... def exit(self, status: int = ..., message: str | None = ...) -> NoReturn: ... def error(self, message: str) -> NoReturn: ... - def parse_intermixed_args(self, args: Sequence[str] | None = ..., namespace: Namespace | None = ...) -> Namespace: ... - def parse_known_intermixed_args( - self, args: Sequence[str] | None = ..., namespace: Namespace | None = ... + @overload + def parse_intermixed_args(self, args: Sequence[str] | None = ..., namespace: None = ...) -> Namespace: ... # type: ignore[misc] + @overload + def parse_intermixed_args(self, args: Sequence[str] | None, namespace: _N) -> _N: ... + @overload + def parse_intermixed_args(self, args: Sequence[str] | None = ..., *, namespace: _N) -> _N: ... + @overload + def parse_known_intermixed_args( # type: ignore[misc] + self, args: Sequence[str] | None = ..., namespace: None = ... ) -> tuple[Namespace, list[str]]: ... + @overload + def parse_known_intermixed_args(self, args: Sequence[str] | None, namespace: _N) -> tuple[_N, list[str]]: ... + @overload + def parse_known_intermixed_args(self, args: Sequence[str] | None, *, namespace: _N) -> tuple[_N, list[str]]: ... # undocumented def _get_optional_actions(self) -> list[Action]: ... def _get_positional_actions(self) -> list[Action]: ... - def _parse_known_args(self, arg_strings: list[str], namespace: Namespace) -> tuple[Namespace, list[str]]: ... + def _parse_known_args(self, arg_strings: list[str], namespace: _N) -> tuple[_N, list[str]]: ... def _read_args_from_files(self, arg_strings: list[str]) -> list[str]: ... def _match_argument(self, action: Action, arg_strings_pattern: str) -> int: ... def _match_arguments_partial(self, actions: Sequence[Action], arg_strings_pattern: str) -> list[int]: ...