-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Description
Feature
Enhance stubgen to include types for @dataclass private methods.
Pitch
Was using interface files to help communicate between teams and noticed this (perhaps a low priority bug, but feels like a feature).
For example, currently
from dataclasses import dataclass
@dataclass(order=True)
class Dummy:
foo: str
bar: int
generates the following when passed to stubgen
from typing import Any
class Dummy:
foo: str
bar: int
def __init__(self, foo: Any, bar: Any) -> None: ...
def __lt__(self, other: Any) -> Any: ...
def __gt__(self, other: Any) -> Any: ...
def __le__(self, other: Any) -> Any: ...
def __ge__(self, other: Any) -> Any: ...
I would hope we could generate
class Dummy:
foo: str
bar: int
def __init__(self, foo: str, bar: bar) -> None: ...
def __lt__(self, other: Dummy) -> bool: ...
def __gt__(self, other: Dummy) -> bool: ...
def __le__(self, other: Dummy) -> bool: ...
def __ge__(self, other: Dummy) -> bool: ...
I believe there is already logic in the dataclass plugin to implement some of these checks, but if they are they are not propagated to stubgen.
Metadata
OSX
Python 3.9.0
mypy 0.790
USSX-Hares