Skip to content

Commit 66bf1a0

Browse files
committed
Fix Instance creation
1 parent 7c4ec52 commit 66bf1a0

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

mypy/plugins/dataclasses.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,13 +410,12 @@ def _add_dunder_replace(self, attributes: list[DataclassAttribute]) -> None:
410410
for attr in attributes
411411
if attr.is_in_init
412412
]
413-
type_vars = [tv for tv in self._cls.type_vars]
414413
add_method_to_class(
415414
self._api,
416415
self._cls,
417416
"__replace__",
418417
args=args,
419-
return_type=Instance(self._cls.info, type_vars),
418+
return_type=fill_typevars(self._cls.info),
420419
)
421420

422421
def _add_internal_replace_method(self, attributes: list[DataclassAttribute]) -> None:

test-data/unit/check-dataclasses.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2682,3 +2682,14 @@ class ClassB(ClassA):
26822682
def value(self) -> int: # E: Name "value" already defined on line 10
26832683
return 0
26842684
[builtins fixtures/dict.pyi]
2685+
2686+
[case testDataclassWithTypeVarTuple]
2687+
# flags: --python-version 3.13
2688+
# https://github.com/python/mypy/issues/19559
2689+
from typing import Callable
2690+
from dataclasses import dataclass
2691+
2692+
@dataclass
2693+
class Test[*Ts, R]:
2694+
a: Callable[[*Ts], R]
2695+
[builtins fixtures/dict.pyi]

0 commit comments

Comments
 (0)