Skip to content

Commit c4643b0

Browse files
authored
Update mypy to 1.4.1 (#1658)
1 parent 08322c6 commit c4643b0

File tree

8 files changed

+49
-72
lines changed

8 files changed

+49
-72
lines changed

docs/pages/contrib/mypy_plugins.rst

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ Supported features
5858
with ``flow`` function
5959
- ``pipe`` feature allows to write better typed functional pipelines
6060
with ``pipe`` function
61+
- ``do-notation`` feature allows using :ref:`do-notation`
6162

6263

6364
Further reading

poetry.lock

+29-29
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ trio = "^0.22"
5555
attrs = "^23.1"
5656
httpx = "^0.24"
5757

58-
mypy = "==1.3.0"
58+
mypy = "^1.4"
5959
wemake-python-styleguide = "^0.17"
6060
flake8-pytest-style = "^1.6"
6161
flake8-pyi = "^23.4"

returns/contrib/mypy/_typeops/inference.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def _infer_constraints(
7878
[arg.name for arg in applied_args],
7979
self._fallback.arg_kinds,
8080
self._fallback.arg_names,
81-
lambda index: checker.accept(exprs[index]), # type: ignore
81+
lambda index: checker.accept(exprs[index]),
8282
)
8383
constraints = infer_constraints_for_callable(
8484
self._fallback,

returns/contrib/mypy/_typeops/transform_callable.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
from mypy.nodes import ARG_OPT, ARG_POS, ARG_STAR, ARG_STAR2, ArgKind
44
from mypy.typeops import get_type_vars
5-
from mypy.types import CallableType, FunctionLike, Overloaded
5+
from mypy.types import AnyType, CallableType, FunctionLike, Overloaded
66
from mypy.types import Type as MypyType
7-
from mypy.types import TypeVarType
7+
from mypy.types import TypeOfAny, TypeVarType
88
from typing_extensions import final
99

1010
from returns.contrib.mypy._structures.args import FuncArg
@@ -183,6 +183,7 @@ def detach_callable(typ: CallableType) -> CallableType: # noqa: C901, WPS210
183183
values=var.values,
184184
upper_bound=var.upper_bound,
185185
variance=var.variance,
186+
default=AnyType(TypeOfAny.from_omitted_generics),
186187
),
187188
)
188189

setup.cfg

+4
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@ warn_return_any = True
198198
warn_unused_configs = True
199199
warn_unreachable = True
200200

201+
# TODO: update our output assertions to match a new syntax
202+
force_uppercase_builtins = true
203+
force_union_syntax = true
204+
201205
# We need this to debug `mypy` plugin:
202206
show_traceback = True
203207

tests/test_result/test_result_equality.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ def test_is_compare():
4040
left = Failure(1)
4141
right = Success(1)
4242

43-
assert left.bind(lambda state: state) is left # type: ignore
44-
assert right.lash(lambda state: state) is right # type: ignore
43+
assert left.bind(lambda state: state) is left
44+
assert right.lash(lambda state: state) is right
4545
assert right is not Success(1)
4646

4747

typesafety/test_pointfree/test_modify_env2.yml

+8-37
Original file line numberDiff line numberDiff line change
@@ -42,29 +42,19 @@
4242
4343
- case: modify_env2_requires_context
4444
disable_cache: false
45-
skip: sys.version_info[:2] < (3, 8)
4645
main: |
4746
from returns.pointfree import modify_env2
4847
from returns.context import RequiresContext
4948
50-
x: RequiresContext[float, int]
51-
reveal_type(modify_env2(int)(x)) # N: Revealed type is "returns.context.requires_context.RequiresContext[builtins.float, Union[builtins.str, builtins.bytes, builtins.bytearray, builtins.memoryview, array.array[Any], mmap.mmap, ctypes._CData, pickle.PickleBuffer, typing.SupportsInt, typing_extensions.SupportsIndex, _typeshed.SupportsTrunc]]"
49+
class A: ...
50+
def mod(arg: A) -> bool: ...
5251
53-
54-
- case: modify_env2_requires_context_py37
55-
disable_cache: false
56-
skip: sys.version_info[:2] >= (3, 8)
57-
main: |
58-
from returns.pointfree import modify_env2
59-
from returns.context import RequiresContext
60-
61-
x: RequiresContext[float, int]
62-
reveal_type(modify_env2(int)(x)) # N: Revealed type is "returns.context.requires_context.RequiresContext[builtins.float, Union[builtins.str, builtins.bytes, builtins.bytearray, builtins.memoryview, array.array[Any], mmap.mmap, ctypes._CData, typing.SupportsInt, typing_extensions.SupportsIndex, _typeshed.SupportsTrunc]]"
52+
x: RequiresContext[float, bool]
53+
reveal_type(modify_env2(mod)(x)) # N: Revealed type is "returns.context.requires_context.RequiresContext[builtins.float, main.A]"
6354
6455
6556
- case: modify_env2_custom_type
6657
disable_cache: false
67-
skip: sys.version_info[:2] < (3, 8)
6858
main: |
6959
from typing import TypeVar
7060
from returns.interfaces.specific.reader import ReaderBased2
@@ -80,27 +70,8 @@
8070
):
8171
...
8272
83-
x: MyClass[float, int]
84-
reveal_type(modify_env2(int)(x)) # N: Revealed type is "main.MyClass[builtins.float, Union[builtins.str, builtins.bytes, builtins.bytearray, builtins.memoryview, array.array[Any], mmap.mmap, ctypes._CData, pickle.PickleBuffer, typing.SupportsInt, typing_extensions.SupportsIndex, _typeshed.SupportsTrunc]]"
85-
86-
87-
- case: modify_env2_custom_type_py37
88-
disable_cache: false
89-
skip: sys.version_info[:2] >= (3, 8)
90-
main: |
91-
from typing import TypeVar
92-
from returns.interfaces.specific.reader import ReaderBased2
93-
from returns.primitives.hkt import SupportsKind2
94-
from returns.pointfree import modify_env2
95-
96-
_EnvType = TypeVar('_EnvType')
97-
_ReturnType = TypeVar('_ReturnType')
98-
99-
class MyClass(
100-
SupportsKind2['MyClass', _ReturnType, _EnvType],
101-
ReaderBased2[_ReturnType, _EnvType],
102-
):
103-
...
73+
class A: ...
74+
def mod(arg: A) -> bool: ...
10475
105-
x: MyClass[float, int]
106-
reveal_type(modify_env2(int)(x)) # N: Revealed type is "main.MyClass[builtins.float, Union[builtins.str, builtins.bytes, builtins.bytearray, builtins.memoryview, array.array[Any], mmap.mmap, ctypes._CData, typing.SupportsInt, typing_extensions.SupportsIndex, _typeshed.SupportsTrunc]]"
76+
x: MyClass[float, bool]
77+
reveal_type(modify_env2(mod)(x)) # N: Revealed type is "main.MyClass[builtins.float, main.A]"

0 commit comments

Comments
 (0)