Closed
Description
Feature
Right now mypy
does not support proper __post_init__
signatures.
For example:
import dataclasses
@dataclasses.dataclass
class My:
x: int
y: dataclasses.InitVar[str] = 'a'
For now, mypy
will allow a lot of incorrect code to slip in:
def __post_init__(self, y: str) -> str: ...
, which needs to returnNone
def __post_init__(self, y: int) -> None: ...
, which has incorrect type fory
def __post_init__(self) -> None: ...
, which has noy
def __post_init__(self, x: int, y: str) -> None: ...
, which has extrax
param
Pitch
We can easily support this feature and make sure that __post_init__
signature is always correct for a dataclass.