[functools] Allow method override with @cache decorator (#15238)

This commit is contained in:
Emmanuel Ferdman
2026-01-09 17:18:58 +02:00
committed by GitHub
parent 63ea326f8c
commit f30821cf01
2 changed files with 18 additions and 6 deletions
+13 -1
View File
@@ -1,6 +1,6 @@
from __future__ import annotations
from functools import cached_property, wraps
from functools import cache, cached_property, wraps
from typing import Callable, TypeVar
from typing_extensions import ParamSpec, assert_type
@@ -96,3 +96,15 @@ class Y(X):
@cached_property
def some(self) -> Child: # safe override
return Child()
class CachedParent:
@cache
def method(self) -> Parent:
return Parent()
class CachedChild(CachedParent):
@cache
def method(self) -> Child:
return Child()