Skip to content

Commit

Permalink
gh-91491: Complete Whats New in 3.11 for typing (GH-92708)
Browse files Browse the repository at this point in the history
Fixes GH-91491

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
(cherry picked from commit 6b51773)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
  • Loading branch information
miss-islington and JelleZijlstra committed May 19, 2022
1 parent ad2363d commit 611d43c
Showing 1 changed file with 36 additions and 4 deletions.
40 changes: 36 additions & 4 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,12 @@ For major changes, see :ref:`new-feat-related-type-hints-311`.
the given type. At runtime it simply returns the received value.
(Contributed by Jelle Zijlstra in :gh:`90638`.)

* :data:`typing.TypedDict` types can now be generic. (Contributed by
Samodya Abey in :gh:`89026`.)

* :class:`~typing.NamedTuple` types can now be generic.
(Contributed by Serhiy Storchaka in :issue:`43923`.)

* Allow subclassing of :class:`typing.Any`. This is useful for avoiding
type checker errors related to highly dynamic class, such as mocks.
(Contributed by Shantanu Jain in :gh:`91154`.)
Expand All @@ -743,11 +749,33 @@ For major changes, see :ref:`new-feat-related-type-hints-311`.
to clear all registered overloads of a function.
(Contributed by Jelle Zijlstra in :gh:`89263`.)

* :data:`typing.TypedDict` subclasses can now be generic. (Contributed by
Samodya Abey in :gh:`89026`.)
* The :meth:`__init__` method of :class:`~typing.Protocol` subclasses
is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)

* :class:`~typing.NamedTuple` subclasses can now be generic.
(Contributed by Serhiy Storchaka in :issue:`43923`.)
* The representation of empty tuple types (``Tuple[()]``) is simplified.
This affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates
to ``()`` instead of ``((),)``.
(Contributed by Serhiy Storchaka in :gh:`91137`.)

* Loosen runtime requirements for type annotations by removing the callable
check in the private ``typing._type_check`` function. (Contributed by
Gregory Beauregard in :gh:`90802`.)

* :func:`typing.get_type_hints` now supports evaluating strings as forward
references in :ref:`PEP 585 generic aliases <types-genericalias>`.
(Contributed by Niklas Rosenstein in :gh:`85542`.)

* :func:`typing.get_type_hints` no longer adds :data:`~typing.Optional`
to parameters with ``None`` as a default. (Contributed by Nikita Sobolev
in :gh:`90353`.)

* :func:`typing.get_type_hints` now supports evaluating bare stringified
:data:`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard
in :gh:`90711`.)

* :func:`typing.no_type_check` no longer modifies external classes and functions.
It also now correctly marks classmethods as not to be type checked. (Contributed
by Nikita Sobolev in :gh:`90729`.)


tkinter
Expand Down Expand Up @@ -1236,6 +1264,10 @@ Deprecated
wherever possible.
(Contributed by Alex Waygood in :gh:`92332`.)

* The keyword argument syntax for constructing :data:`~typing.TypedDict` types
is now deprecated. Support will be removed in Python 3.13. (Contributed by
Jingchen Ye in :gh:`90224`.)


Pending Removal in Python 3.12
==============================
Expand Down

0 comments on commit 611d43c

Please sign in to comment.