8000 stubgen: Use PEP 604 instead of Optional (#10624) · python/mypy@1cad082 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1cad082

Browse files
authored
stubgen: Use PEP 604 instead of Optional (#10624)
1 parent 5080053 commit 1cad082

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

mypy/stubgen.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,10 +1159,8 @@ def get_str_type_of_node(self, rvalue: Expression,
11591159
return 'bool'
11601160
if can_infer_optional and \
11611161
isinstance(rvalue, NameExpr) and rvalue.name == 'None':
1162-
self.add_typing_import('Optional')
11631162
self.add_typing_import('Any')
1164-
return '{}[{}]'.format(self.typing_name('Optional'),
1165-
self.typing_name('Any'))
1163+
return '{} | None'.format(self.typing_name('Any'))
11661164
self.add_typing_import('Any')
11671165
return self.typing_name('Any')
11681166

test-data/unit/stubgen.test

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ def g(b: int = ..., c: int = ...) -> None: ...
3232
[case testDefaultArgNone]
3333
def f(x=None): ...
3434
[out]
35-
from typing import Any, Optional
35+
from typing import Any
3636

37-
def f(x: Optional[Any] = ...) -> None: ...
37+
def f(x: Any | None = ...) -> None: ...
3838

3939
[case testDefaultArgBool]
4040
def f(x=True, y=False): ...
@@ -772,12 +772,12 @@ class A:
772772
def method(self, a=None):
773773
self.x = []
774774
[out]
775-
from typing import Any, Optional
775+
from typing import Any
776776

777777
class A:
778778
x: Any = ...
779-
def __init__(self, a: Optional[Any] = ...) -> None: ...
780-
def method(self, a: Optional[Any] = ...) -> None: ...
779+
def __init__(self, a: Any | None = ...) -> None: ...
780+
def method(self, a: Any | None = ...) -> None: ...
781781

782782
[case testAnnotationImportsFrom]
783783
import foo
@@ -1700,10 +1700,10 @@ def Optional():
17001700
return 0
17011701

17021702
[out]
1703-
from typing import Any as _Any, Optional as _Optional
1703+
from typing import Any as _Any
17041704

17051705
def f(x: _Any = ...): ...
1706-
def g(x: _Optional[_Any] = ...) -> None: ...
1706+
def g(x: _Any | None = ...) -> None: ...
17071707

17081708
x: _Any
17091709

0 commit comments

Comments
 (0)
0