@@ -27,45 +27,47 @@ def g(arg) -> None: ...
27
27
def f(a, b=2): ...
28
28
def g(b=-1, c=0): ...
29
29
[out]
30
- def f(a, b: int = ... ) -> None: ...
31
- def g(b: int = ... , c: int = ... ) -> None: ...
30
+ def f(a, b: int = 2 ) -> None: ...
31
+ def g(b: int = -1 , c: int = 0 ) -> None: ...
32
32
33
33
[case testDefaultArgNone]
34
34
def f(x=None): ...
35
35
[out]
36
36
from _typeshed import Incomplete
37
37
38
- def f(x: Incomplete | None = ... ) -> None: ...
38
+ def f(x: Incomplete | None = None ) -> None: ...
39
39
40
40
[case testDefaultArgBool]
41
41
def f(x=True, y=False): ...
42
42
[out]
43
- def f(x: bool = ... , y: bool = ... ) -> None: ...
43
+ def f(x: bool = True , y: bool = False ) -> None: ...
44
44
45
45
[case testDefaultArgBool_inspect]
46
46
def f(x=True, y=False): ...
47
47
[out]
48
48
def f(x: bool = ..., y: bool = ...): ...
49
49
50
50
[case testDefaultArgStr]
51
- def f(x='foo'): ...
51
+ def f(x='foo',y="how's quotes" ): ...
52
52
[out]
53
- def f(x: str = ... ) -> None: ...
53
+ def f(x: str = 'foo', y: str = "how's quotes" ) -> None: ...
54
54
55
55
[case testDefaultArgStr_inspect]
56
56
def f(x='foo'): ...
57
57
[out]
58
58
def f(x: str = ...): ...
59
59
60
60
[case testDefaultArgBytes]
61
- def f(x=b'foo'): ...
61
+ def f(x=b'foo',y=b"what's up",z=b'\xc3\xa0 la une' ): ...
62
62
[out]
63
- def f(x: bytes = ... ) -> None: ...
63
+ def f(x: bytes = b'foo', y: bytes = b"what's up", z: bytes = b'\xc3\xa0 la une' ) -> None: ...
64
64
65
65
[case testDefaultArgFloat]
66
- def f(x=1.2): ...
66
+ def f(x=1.2,y=1e-6,z=0.0,w=-0.0,v=+1.0): ...
67
+ def g(x=float("nan"), y=float("inf"), z=float("-inf")): ...
67
68
[out]
68
- def f(x: float = ...) -> None: ...
69
+ def f(x: float = 1.2, y: float = 1e-06, z: float = 0.0, w: float = -0.0, v: float = +1.0) -> None: ...
70
+ def g(x=..., y=..., z=...) -> None: ...
69
71
70
72
[case testDefaultArgOther]
71
73
def f(x=ord): ...
@@ -126,10 +128,10 @@ def i(a, *, b=1): ...
126
128
def j(a, *, b=1, **c): ...
127
129
[out]
128
130
def f(a, *b, **c) -> None: ...
129
- def g(a, *b, c: int = ... ) -> None: ...
130
- def h(a, *b, c: int = ... , **d) -> None: ...
131
- def i(a, *, b: int = ... ) -> None: ...
132
- def j(a, *, b: int = ... , **c) -> None: ...
131
+ def g(a, *b, c: int = 1 ) -> None: ...
132
+ def h(a, *b, c: int = 1 , **d) -> None: ...
133
+ def i(a, *, b: int = 1 ) -> None: ...
134
+ def j(a, *, b: int = 1 , **c) -> None: ...
133
135
134
136
[case testClass]
135
137
class A:
@@ -356,8 +358,8 @@ y: Incomplete
356
358
def f(x, *, y=1): ...
357
359
def g(x, *, y=1, z=2): ...
358
360
[out]
359
- def f(x, *, y: int = ... ) -> None: ...
360
- def g(x, *, y: int = ... , z: int = ... ) -> None: ...
361
+ def f(x, *, y: int = 1 ) -> None: ...
362
+ def g(x, *, y: int = 1 , z: int = 2 ) -> None: ...
361
363
362
364
[case testProperty]
363
365
class A:
@@ -1285,8 +1287,8 @@ from _typeshed import Incomplete
1285
1287
1286
1288
class A:
1287
1289
x: Incomplete
1288
- def __init__(self, a: Incomplete | None = ... ) -> None: ...
1289
- def method(self, a: Incomplete | None = ... ) -> None: ...
1290
+ def __init__(self, a: Incomplete | None = None ) -> None: ...
1291
+ def method(self, a: Incomplete | None = None ) -> None: ...
1290
1292
1291
1293
[case testAnnotationImportsFrom]
1292
1294
import foo
@@ -2514,7 +2516,7 @@ from _typeshed import Incomplete as _Incomplete
2514
2516
2515
2517
Y: _Incomplete
2516
2518
2517
- def g(x: _Incomplete | None = ... ) -> None: ...
2519
+ def g(x: _Incomplete | None = None ) -> None: ...
2518
2520
2519
2521
x: _Incomplete
2520
2522
@@ -3503,7 +3505,7 @@ class P(Protocol):
3503
3505
[case testNonDefaultKeywordOnlyArgAfterAsterisk]
3504
3506
def func(*, non_default_kwarg: bool, default_kwarg: bool = True): ...
3505
3507
[out]
3506
- def func(*, non_default_kwarg: bool, default_kwarg: bool = ... ): ...
3508
+ def func(*, non_default_kwarg: bool, default_kwarg: bool = True ): ...
3507
3509
3508
3510
[case testNestedGenerator]
3509
3511
def f1():
@@ -3909,6 +3911,53 @@ def gen2() -> _Generator[_Incomplete, _Incomplete, _Incomplete]: ...
3909
3911
class X(_Incomplete): ...
3910
3912
class Y(_Incomplete): ...
3911
3913
3914
+ [case testIgnoreLongDefaults]
3915
+ def f(x='abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3916
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3917
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3918
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'): ...
3919
+
3920
+ def g(x=b'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3921
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3922
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz\
3923
+ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'): ...
3924
+
3925
+ def h(x=123456789012345678901234567890123456789012345678901234567890\
3926
+ 123456789012345678901234567890123456789012345678901234567890\
3927
+ 123456789012345678901234567890123456789012345678901234567890\
3928
+ 123456789012345678901234567890123456789012345678901234567890): ...
3929
+
3930
+ [out]
3931
+ def f(x: str = ...) -> None: ...
3932
+ def g(x: bytes = ...) -> None: ...
3933
+ def h(x: int = ...) -> None: ...
3934
+
3935
+ [case testDefaultsOfBuiltinContainers]
3936
+ def f(x=(), y=(1,), z=(1, 2)): ...
3937
+ def g(x=[], y=[1, 2]): ...
3938
+ def h(x={}, y={1: 2, 3: 4}): ...
3939
+ def i(x={1, 2, 3}): ...
3940
+ def j(x=[(1,"a"), (2,"b")]): ...
3941
+
3942
+ [out]
3943
+ def f(x=(), y=(1,), z=(1, 2)) -> None: ...
3944
+ def g(x=[], y=[1, 2]) -> None: ...
3945
+ def h(x={}, y={1: 2, 3: 4}) -> None: ...
3946
+ def i(x={1, 2, 3}) -> None: ...
3947
+ def j(x=[(1, 'a'), (2, 'b')]) -> None: ...
3948
+
3949
+ [case testDefaultsOfBuiltinContainersWithNonTrivialContent]
3950
+ def f(x=(1, u.v), y=(k(),), z=(w,)): ...
3951
+ def g(x=[1, u.v], y=[k()], z=[w]): ...
3952
+ def h(x={1: u.v}, y={k(): 2}, z={m: m}, w={**n}): ...
3953
+ def i(x={u.v, 2}, y={3, k()}, z={w}): ...
3954
+
3955
+ [out]
3956
+ def f(x=..., y=..., z=...) -> None: ...
3957
+ def g(x=..., y=..., z=...) -> None: ...
3958
+ def h(x=..., y=..., z=..., w=...) -> None: ...
3959
+ def i(x=..., y=..., z=...) -> None: ...
3960
+
3912
3961
[case testDataclass]
3913
3962
import dataclasses
3914
3963
import dataclasses as dcs
0 commit comments