Skip to content

Commit f9ba540

Browse files
authoredNov 28, 2018
Improve overloads of parse_args() -- it never returns None (#2643)
Fixes #2641
1 parent eaae246 commit f9ba540

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed
 

‎stdlib/2and3/argparse.pyi

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,18 @@ class ArgumentParser(_AttributeHolder, _ActionsContainer):
122122
argument_default: Optional[_Text] = ...,
123123
conflict_handler: _Text = ...,
124124
add_help: bool = ...) -> None: ...
125+
126+
# The type-ignores in these overloads should be temporary. See:
127+
# https://github.com/python/typeshed/pull/2643#issuecomment-442280277
125128
@overload
126129
def parse_args(self, args: Optional[Sequence[_Text]] = ...) -> Namespace: ...
127130
@overload
131+
def parse_args(self, args: Optional[Sequence[_Text]], namespace: None) -> Namespace: ... # type: ignore
132+
@overload
128133
def parse_args(self, args: Optional[Sequence[_Text]], namespace: _N) -> _N: ...
129134
@overload
135+
def parse_args(self, *, namespace: None) -> Namespace: ... # type: ignore
136+
@overload
130137
def parse_args(self, *, namespace: _N) -> _N: ...
131138

132139
if sys.version_info >= (3, 7):

0 commit comments

Comments
 (0)
Please sign in to comment.