python / python/cpython

Interrupting class creation in __init_subclass__ may lead to incorrect isinstance() and issubclass() results

Đang mở
#82,266 9 bình luận 3 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

interpreter-core type-bug
Ngôn ngữ chính
Python
Star
77.2k
Fork
36k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

BPO 38085
Nosy @rhettinger, @cfbolz, @ambv, @hongweipeng
PRs
  • python/cpython#30112
  • Files
  • x.py
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2019-09-10.09:09:41.066>
    labels = ['interpreter-core', '3.8', 'type-bug', '3.7', '3.9']
    title = 'Interrupting class creation in __init_subclass__ may lead to incorrect isinstance() and issubclass() results'
    updated_at = <Date 2021-12-23.20:42:44.132>
    user = 'https://bugs.python.org/xitop'
    

    bugs.python.org fields:

    activity = <Date 2021-12-23.20:42:44.132>
    actor = 'Carl.Friedrich.Bolz'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Interpreter Core']
    creation = <Date 2019-09-10.09:09:41.066>
    creator = 'xitop'
    dependencies = []
    files = ['50515']
    hgrepos = []
    issue_num = 38085
    keywords = ['patch']
    message_count = 9.0
    messages = ['351599', '355037', '358966', '381210', '383796', '401784', '401998', '409106', '409107']
    nosy_count = 5.0
    nosy_names = ['rhettinger', 'Carl.Friedrich.Bolz', 'lukasz.langa', 'hongweipeng', 'xitop']
    pr_nums = ['30112']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue38085'
    versions = ['Python 3.6', 'Python 3.7', 'Python 3.8', 'Python 3.9']
    

    Hướng dẫn đóng góp

    Mở hướng dẫn đóng góp

    Bắt đầu từ đâu

    1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
    2. 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.
    3. Fork repository và làm thay đổi trên một nhánh.
    4. Mở pull request có tham chiếu số hiệu của issue.

    Hướng nghiên cứu

    Bắt đầu với bản tái hiện x.py được đính kèm và xem xét PR 30112; sau đó đọc phần xử lý trong interpreter-core liên quan đến các lệnh gọi init_subclass bị gián đoạn. Công việc được hoàn tất khi việc gián đoạn được báo cáo không còn tạo ra kết quả isinstance() hoặc issubclass() không chính xác, và hành vi này được bao phủ bởi một bài kiểm thử hồi quy.

    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
    compilers
    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
    Cần làm rõ
    Mức phù hợp với người mới
    20/100

    Nhận issue mới trong hộp thư của bạn

    Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.