`TYPE_CHECKING` doesn't work if imported with alias
Đang mở
Chưa có ai nhận issue này.
bug
- 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ả
from typing import TYPE_CHECKING
from typing import TYPE_CHECKING as amogus
if not TYPE_CHECKING:
1 + "" # no error (unreachable)
if not amogus:
1 + "" # error
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 tái hiện sự khác biệt trong đoạn mã Python của issue hoặc mypy playground được liên kết, sau đó truy vết cách mypy nhận diện các import và alias của TYPE_CHECKING. Công việc được xem là hoàn tất khi một import có alias hoạt động giống như import trực tiếp trong quá trình phân tích mã không thể thực thi, với độ bao phủ hồi quy cho cả hai dạng.
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
- 42/100