Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions mypy/plugins/dataclasses.py
Original file line number Diff line number Diff line change
Expand Up @@ -410,13 +410,12 @@ def _add_dunder_replace(self, attributes: list[DataclassAttribute]) -> None:
for attr in attributes
if attr.is_in_init
]
type_vars = [tv for tv in self._cls.type_vars]
add_method_to_class(
self._api,
self._cls,
"__replace__",
args=args,
return_type=Instance(self._cls.info, type_vars),
return_type=fill_typevars(self._cls.info),
)

def _add_internal_replace_method(self, attributes: list[DataclassAttribute]) -> None:
Expand Down
11 changes: 11 additions & 0 deletions test-data/unit/check-dataclasses.test
Original file line number Diff line number Diff line change
Expand Up @@ -2682,3 +2682,14 @@ class ClassB(ClassA):
def value(self) -> int: # E: Name "value" already defined on line 10
return 0
[builtins fixtures/dict.pyi]

[case testDataclassWithTypeVarTuple]
# flags: --python-version 3.13
# https://github.com/python/mypy/issues/19559
from typing import Callable
from dataclasses import dataclass

@dataclass
class Test[*Ts, R]:
a: Callable[[*Ts], R]
[builtins fixtures/dict.pyi]
Loading