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

View File

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