erroneous complaint that overloaded function implementation does not accept all possible arguments of signature
Đang mở
Chưa có ai nhận issue này.
bug
false-positive
topic-overloads
- 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ả
Bug Report
Erroneous complaint that overloaded function implementation does not accept all possible arguments of signature.
To Reproduce
from datetime import datetime
from typing import overload
class Sample:
@overload
@classmethod
def set(cls, year: int) -> None:
...
@overload
@classmethod
def set(cls, instance: datetime, / ) -> None:
...
@classmethod
def set(cls, *args: datetime | int, **kw: int) -> None:
pass
Expected Behavior
The above should pass type checking.
Pyright's happy enough:
$ pyright typing_bug.py
0 errors, 0 warnings, 0 informations
Actual Behavior
$ mypy typing_bug.py
typing_bug.py:16: error: Overloaded function implementation does not accept all possible arguments of signature 1 [misc]
Found 1 error in 1 file (checked 1 source file)
Your Environment
- Mypy version used:
1.14.1 (compiled: yes) - Mypy command-line flags: None, see above
- Mypy configuration options from
mypy.ini(and other config files): None. - Python version used: Python 3.12.1
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
Tái hiện báo cáo từ typing_bug.py bằng mypy 1.14.1 và so sánh kết quả với pyright. Theo dõi việc kiểm tra tính tương thích của triển khai overload cho ví dụ classmethod; được xem là hoàn thành khi mypy chấp nhận đoạn mã được hiển thị mà không đưa ra khiếu nại sai, đồng thời vẫn giữ các chẩn đoán hợp lệ cho những triển khai không tương thích.
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
- 35/100