Modernize annotation usage in libregrtest
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
Bug description:
Lib/test/libregrtest/results.py imports TYPE_CHECKING only to guard a type-only import:
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from xml.etree.ElementTree import Element
Now that explicit lazy imports are available, this can be replaced with:
lazy from xml.etree.ElementTree import Element
The stringized list['Element'] annotation can then become list[Element]. This keeps xml.etree.ElementTree from being imported eagerly while making the annotation name available at runtime.
Lib/test/libregrtest/mypy.ini should also target Python 3.15, following the approach used for pyrepl in gh-149985 and gh-149992.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
- gh-156403
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 Lib/test/libregrtest/results.py và Lib/test/libregrtest/mypy.ini; kiểm tra cấu hình chú thích và kiểm tra kiểu hiện có, sau đó so sánh cách tiếp cận của pyrepl trong gh-149985 và gh-149992. Công việc được xem là hoàn tất khi lazy annotation import và runtime annotation được sử dụng mà không có eager XML imports, đồng thời mypy nhắm đến Python 3.15.
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
- testing-qa
- Loại issue
- Tái cấu trúc
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- 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
- 30/100