Wrong Signature for Enum with Specific Dataclass Mixin Scenario
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- python
- Lĩnh vực
- developer-experience
Hướng nghiên cứu
Bắt đầu với bản tái hiện bằng Python và pyright playground được liên kết, đồng thời so sánh các chữ ký được suy luận cho SampleEnum và SampleEnum2. Truy vết các định nghĩa typing liên quan của enum và dataclass trong thư viện chuẩn ở typeshed, rồi xác nhận hoàn tất khi trường hợp dataclass-mixin tạo ra chữ ký hàm khởi tạo enum như mong muốn mà không thay đổi hành vi runtime.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Note: I was thinking about putting this on pyright but it said standard library problems are more suited here, so I'll give it a shot.
I was trying to code an enum with a dataclass mixin where each value is overridden through the first string variable for easier referencing (rather than a dict from str to enum).
from dataclasses import dataclass
from enum import Enum, auto
@dataclass(frozen=True)
class SampleMixin:
a_string: str
a_number: int
class SampleEnum(SampleMixin, Enum):
def __new__(cls, value: str, *_):
obj = object.__new__(cls)
obj._value_ = value
return obj
foo = "foo", 1
bar = "bar", 2
class SampleEnum2(Enum):
foo = auto()
bar = auto()
baz = SampleEnum("foo")
qux = SampleEnum2("foo")
baz still gets SampleEnum.foo right, but the function signature is incorrectly identified. Ideally, it should be closer to SampleEnum2's function signature.
I'm open to workarounds at the meantime. The code runs correctly, it's just that the inferred signature I got was wrong.
Code sample in pyright playground.
- Ngôn ngữ chính
- Python
- Star
- 5.1k
- Fork
- 2.1k
- Merge trung bình
- 2 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 115
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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.
Issue khác của python/typeshed
-
`networkx.set_edge_attributes` should support scalar value + nameCó thể đã có người làm @Fire162 đã nhận 10 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 1 ngày
-
false alarm on decode callCó thể đã có người làm @jw9829 đã nhận 38 ngày trước. Đang mởhelp wanted stubs: false positive
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
python/typeshed#16441 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Don't run pyright basic checks on projects with strict pyright settings in CICó thể đã có người làm @Mohith1612 đã nhận 74 ngày trước. Đang mởproject: infrastructure
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
python/typeshed#16005 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
stubs: improvement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
python/typeshed#15548 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
stubs: improvement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
python/typeshed#15529 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của python/typeshed
Issue tương tự
-
Backend issue lists report in-patch warnings and out-of-patch errors as not publishableCó thể đã có người làm @RaphaelFakhri đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mozilla/code-review#3794 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[oblt-aw][autodoc] Update docs that still describe the security registry as emptyCó thể đã có người làm @github-actions đã nhận hôm nay. Đang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] adb backup script reports "Done" & exits 0 when the backup failsCó thể đã có người làm @bhattmanthan đã nhận hôm nay. Đang mởrequest-issue-assignment
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OWASP/mastg#4034 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent-ui bug p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
correction metadata
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
acl-org/acl-anthology#10768 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày