More accurate dataclasses.dataclass overloads (#14095)

This commit is contained in:
Max Muoto
2025-05-20 19:54:51 -07:00
committed by GitHub
parent f60b86e49c
commit 0b1ee9378d
2 changed files with 59 additions and 4 deletions
@@ -91,6 +91,16 @@ def check_other_isdataclass_overloads(x: type, y: object) -> None:
dc.replace(y)
class _D: ...
custom_dc = dc.dataclass(_D, init=True)
assert_type(custom_dc, type[_D])
custom_dc_2 = dc.dataclass(None, init=True)(_D)
assert_type(custom_dc_2, type[_D])
# Regression test for #11653
D = dc.make_dataclass(
"D", [("a", Union[int, None]), "y", ("z", Annotated[FrozenSet[bytes], "metadata"], dc.field(default=frozenset({b"foo"})))]