core[patch]: fix beta, deprecated typing (#18877)

**Description:** 

While not technically incorrect, the TypeVar used for the `@beta`
decorator prevented pyright (and thus most vscode users) from correctly
seeing the types of functions/classes decorated with `@beta`.

This is in part due to a small bug in pyright
(https://github.com/microsoft/pyright/issues/7448 ) - however, the
`Type` bound in the typevar `C = TypeVar("C", Type, Callable)` is not
doing anything - classes are `Callables` by default, so by my
understanding binding to `Type` does not actually provide any more
safety - the modified annotation still works correctly for both
functions, properties, and classes.

---------

Co-authored-by: Bagatur <22008038+baskaryan@users.noreply.github.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
Luca Dorigo
2024-03-28 23:33:43 +01:00
committed by GitHub
parent 263ee78886
commit f19229c564
6 changed files with 31 additions and 21 deletions

View File

@@ -403,7 +403,7 @@ class _RedisCacheBase(BaseCache, ABC):
if results:
for _, text in results.items():
try:
generations.append(loads(text))
generations.append(loads(cast(str, text)))
except Exception:
logger.warning(
"Retrieving a cache value that could not be deserialized "