dry-python / dry-python/returns
Mypy complains when currying a class
- Ngôn ngữ chính
- Python
- Star
- 4.4k
- Fork
- 155
- Merge trung bình
- 2 giờ 27 phút
- Pull request đã merge (30 ngày)
- 22
Mô tả
# Bug report
Hi, I'm trying to curry a class constructor, but mypy complains
## What's wrong
```py
# main.py
from returns.curry import curry
@curry
class Person:
def __init__(self, name: str, age: int):
self.name = name
self.age = age
Person("bob")(33)
```
```
$ mypy main.py
main.py:10: error: Missing positional argument "age" in call to "Person"
main.py:10: error: "Person" not callable
Found 2 errors in 1 file (checked 1 source file)
```
Here is my mypy.ini file:
```
[mypy]
plugins =
returns.contrib.mypy.returns_plugin
```
## How is that should be
mypy should not report any error
## System information
- `python` version: 3.10.4
- `returns` version: 0.19.0
- `mypy` version: 0.971
- `hypothesis` version (if any): not installed
- `pytest` version (if any): not installed
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với trình tái hiện trong main.py và kiểm tra returns.curry cùng returns.contrib.mypy.returns_plugin, là các entry point được nêu trong issue. So sánh cách plugin xử lý các hàm đã curry với trường hợp hàm khởi tạo lớp, sau đó chạy mypy main.py; được coi là hoàn tất khi cách sử dụng được hiển thị không báo lỗi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100