"multiple values for keyword argument" with star expansion
Đang mở
Chưa có ai nhận issue này.
bug
false-positive
priority-1-normal
topic-union-types
- 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ả
MyPy seems to be unaware of the length of a Tuple when wrapped in a Union:
from typing import Union, Tuple
def get_tuple() -> Union[Tuple[int, int], Tuple[None, None]]:
return (1, 2)
def process_tuple(one, two, flag=False):
print(one, two, flag)
process_tuple(*get_tuple(), flag=True)
1.py:12: error: "process_tuple" gets multiple values for keyword argument "flag"
Same code without a unionized type (def get_tuple() -> Tuple[int, int]:) works.
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 với trình tái hiện Python được cung cấp và theo dõi cách mypy xử lý Union[Tuple[int, int], Tuple[None, None]] trong quá trình mở rộng dấu sao và kiểm tra đối số từ khóa. Hoàn tất khi lệnh gọi hợp lệ không còn báo cáo đối số flag trùng lặp và một bài kiểm thử hồi quy bao quát cả trường hợp có Union lẫn không có Union.
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
- developer-experience, 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
- 45/100