mypy does not handle __class_getitem__
Đang mở
Chưa có ai nhận issue này.
feature
priority-2-low
- Ngôn ngữ chính
- Python
- Star
- 20.6k
- Fork
- 3.3k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
PEP 560 defines __class_getitem__ as a way to enable indexing a class (to define custom generic types for instance), but mypy does not seem to recognize this.
To Reproduce
$ cat test.py
class A:
def __class_getitem__(cls, item):
return cls
x = A[int]
$ mypy test.py
Expected Behavior
Success: no issues found in 1 source file
Actual Behavior
test.py:6: error: "A" expects no type arguments, but 1 given
Found 2 errors in 1 file (checked 1 source file)
Environment
- mypy 0.910
- Python 3.9.7
- Darwin arm64
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách chạy ví dụ test.py đã được báo cáo với mypy và xác nhận các lỗi liên quan đến A[int]. Truy theo luồng kiểm tra kiểu cho class_getitem và bổ sung độ bao phủ cho trường hợp này; hoàn thành có nghĩa là ví dụ không báo cáo vấn đề nào như mong đợ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
- devtools
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 45/100