returns
returns copied to clipboard
Mypy 1.6.1 fails with returns 0.21.0 on use of `curry.partial`
Bug report
I think mypy 1.6 has broken your plugin again. It seems like their API changes quite a lot. :(
What's wrong
my_partial = returns.curry.partial(foo, bar=baz(1))
reveal_type(my_partial)
Running mypy 1.6.1 against this, with the plugin installed and activated, results in:
https://mypy.readthedocs.io/en/stable/common_issues.html#using-a-development-mypy-build
Please report a bug at https://github.com/python/mypy/issues
version: 1.6.1
Traceback (most recent call last):
File "mypy/checkexpr.py", line 5374, in accept
File "mypy/nodes.py", line 1907, in accept
File "mypy/checkexpr.py", line 452, in visit_call_expr
File "mypy/checkexpr.py", line 581, in visit_call_expr_inner
File "mypy/checkexpr.py", line 1420, in check_call_expr_with_callee_type
File "mypy/checkexpr.py", line 1514, in check_call
File "mypy/checkexpr.py", line 1734, in check_callable_call
File "mypy/checkexpr.py", line 1194, in apply_function_plugin
File "*/.venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 67, in analyze
).new_partial()
^^^^^^^^^^^^^
File "*/.venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 135, in new_partial
partial = self._create_partial_case(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "*/.venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 167, in _create_partial_case
).from_usage(self._applied_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "*/.venv/lib/python3.11/site-packages/returns/contrib/mypy/_typeops/inference.py", line 61, in from_usage
constraints = self._infer_constraints(applied_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "*/.venv/lib/python3.11/site-packages/returns/contrib/mypy/_typeops/inference.py", line 83, in _infer_constraints
constraints = infer_constraints_for_callable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: infer_constraints_for_callable() missing required argument 'context' (pos 6)
How is that should be
path/to/execution.py:21: note: Revealed type is "def (id: builtins.str, df: Any, *, schema: Union[builtins.str, None] =) -> FooBarBaz"
System information
-
pythonversion: 3.11.4 -
returnsversion: 0.21.0 -
mypyversion: 1.6.1 -
pytestversion (if any): 7.2.1
Yes, I am aware :(
Working on a fix, please use 1.5 in the meantime
thank you!
completely unrelated question, and forgive me for hijacking the issue, but I couldn't find any info on this in the changelog... Why does 0.22 not support Python 3.8.0? The >=3.8.1 requirement is sort of tricky to work with even though I don't have an explicit need for 3.8.0.
3.8.0 is broken :(
Any update on this? Still seeing it today!
File "/Users/rami/.vscode/extensions/ms-python.mypy-type-checker-2023.6.0/bundled/libs/mypy/checkexpr.py", line 1194, in apply_function_plugin
return callback(
^^^^^^^^^
File ".venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 66, in analyze
).new_partial()
^^^^^^^^^^^^^
File ".venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 134, in new_partial
partial = self._create_partial_case(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".venv/lib/python3.11/site-packages/returns/contrib/mypy/_features/partial.py", line 166, in _create_partial_case
).from_usage(self._applied_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".venv/lib/python3.11/site-packages/returns/contrib/mypy/_typeops/inference.py", line 60, in from_usage
constraints = self._infer_constraints(applied_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".venv/lib/python3.11/site-packages/returns/contrib/mypy/_typeops/inference.py", line 82, in _infer_constraints
constraints = infer_constraints_for_callable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: infer_constraints_for_callable() missing 1 required positional argument: 'context'
I've also encountered this issue. Is there anything I can do to help?