Use PEP 695 for covariant class annotations (#117780)

This commit is contained in:
Marc Mueller 2024-05-20 10:55:44 +02:00 committed by GitHub
parent f76842d7db
commit 0293315b23
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 8 deletions

View File

@ -38,7 +38,6 @@ from typing import (
Final, Final,
Generic, Generic,
NotRequired, NotRequired,
ParamSpec,
Self, Self,
TypedDict, TypedDict,
cast, cast,
@ -131,8 +130,6 @@ CLOSE_STAGE_SHUTDOWN_TIMEOUT = 30
_R = TypeVar("_R") _R = TypeVar("_R")
_R_co = TypeVar("_R_co", covariant=True)
_P = ParamSpec("_P")
# Internal; not helpers.typing.UNDEFINED due to circular dependency # Internal; not helpers.typing.UNDEFINED due to circular dependency
_UNDEF: dict[Any, Any] = {} _UNDEF: dict[Any, Any] = {}
_SENTINEL = object() _SENTINEL = object()
@ -305,7 +302,7 @@ class HassJobType(enum.Enum):
Executor = 3 Executor = 3
class HassJob(Generic[_P, _R_co]): class HassJob[**_P, _R_co]:
"""Represent a job to be run later. """Represent a job to be run later.
We check the callable type in advance We check the callable type in advance

View File

@ -5,14 +5,11 @@ from __future__ import annotations
import asyncio import asyncio
from collections.abc import Callable from collections.abc import Callable
from logging import Logger from logging import Logger
from typing import Generic, TypeVar
from homeassistant.core import HassJob, HomeAssistant, callback from homeassistant.core import HassJob, HomeAssistant, callback
_R_co = TypeVar("_R_co", covariant=True)
class Debouncer[_R_co]:
class Debouncer(Generic[_R_co]):
"""Class to rate limit calls to a specific command.""" """Class to rate limit calls to a specific command."""
def __init__( def __init__(