On Tue, May 20, 2025 at 5:31 AM Markus Armbruster <arm...@redhat.com> wrote:

> John Snow <js...@redhat.com> writes:
>
> > In this patch, we don't have a builtin type to use for a type hint, but
> > we do have collections.abc and other standard library types. Replace
> > deprecated type hints with their standard library equivalents:
> >
> > typing.Awaitable      => collections.abc.Awaitable
> > typing.AbstractSet    => collections.abc.AbstractSet
> > typing.AsyncIterator  => collections.abc.AsyncIterator
> > typing.Callable       => collections.abc.Callable
> > typing.Coroutine      => collections.abc.Coroutine
> > typing.Deque          => collections.deque
> > typing.Generator      => collections.abc.Generator
> > typing.Iterable       => collections.abc.Iterable
> > typing.Iterator       => collections.abc.Iterator
> > typing.Mapping        => collections.abc.Mapping
> > typing.Match          => re.Match
> > typing.MutableMapping => collections.abc.MutableMapping
> > typing.Sequence       => collections.abc.Sequence
> > typing.ValuesView     => collections.abc.ValuesView
> >
> > The primary benefit of this is, of course, that the standard type can
> > now be used directly as the type hint. In general, this means far fewer
> > imports from `typing`. The reason we *have* to do this is because the
> > old type hints have been deprecated and will be dropped from a Python
> > release in the future, so I am just getting ahead of it before it causes
> > a problem.
> >
> > (Granted, yes, in practice this just means we're usually importing from
> > collections.abc instead of typing, but... ah well. What are you gonna
> > do.)
> >
> > Signed-off-by: John Snow <js...@redhat.com>
>
> I'd expect to catch mistakes in the manual parts.  I gave scripts/qapi/
> an eye-over anyway, and it looks good to me.
>
> Acked-by: Markus Armbruster <arm...@redhat.com>
>
> Typing imports left at the end of the series:
>
>     *
>     Any
>     BinaryIO
>     Generic
>     IO
>     Literal
>     NamedTuple
>     NewType
>     NoReturn
>     Optional
>     Protocol
>     TYPE_CHECKING
>     TextIO
>     TypeVar
>     Union
>     cast
>

Yep, all of these are good. Except the *.


>
> The * are in scripts/codeconverter/.  You might want to double-check
> nothing deprecated hides behind the *.
>

Yep. Meant to, forgot. O:-) Thanks for the callout.


>
> The others are all still good, I presume.


Yep! I double-checked the list and none of the remaining ones here are
deprecated.

--js

Reply via email to