dry-python / dry-python/returns

Mypy complains when currying a class

Đang mở
#1,476 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.