Invalid type for redefined variable inside nested function
Đang mở
Chưa có ai nhận issue này.
bug
false-positive
priority-0-high
- Ngôn ngữ chính
- Python
- Star
- 20.6k
- Fork
- 3.3k
- Merge trung bình
- 1 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 54
Mô tả
The revealed type in this example is int, even though it should be str:
# mypy: allow-redefinition
def f() -> None:
x = 0
print(x)
x = 'x'
def g() -> None:
reveal_type(x) # int, but should be str
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ụ mypy được cung cấp và xác nhận rằng reveal_type(x) báo cáo int thay vì str. Theo dõi cách xử lý allow-redefinition qua ranh giới của hàm lồng nhau; hoàn tất khi kiểu được hiển thị trong g là str và ví dụ vẫn hợp lệ.
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ó
- 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