mirror of https://github.com/python/cpython.git
[3.10] bpo-38908: [docs] Add changes to 3.10 whatsnew and fix some minor inaccuracies in news (GH-26096) (GH-26337)
The fix only applies to ``isinstance``. ``issubclass`` isn't affected (because it was always working to begin with). So I also fixed the news to reflect that.
(cherry picked from commit 8450e8a81f
)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
This commit is contained in:
parent
4431922f92
commit
09696a3e21
|
@ -1317,6 +1317,14 @@ Add new function :func:`typing.is_typeddict` to introspect if an annotation
|
|||
is a :class:`typing.TypedDict`.
|
||||
(Contributed by Patrick Reader in :issue:`41792`)
|
||||
|
||||
Subclasses of ``typing.Protocol`` which only have data variables declared
|
||||
will now raise a ``TypeError`` when checked with ``isinstance`` unless they
|
||||
are decorated with :func:`runtime_checkable`. Previously, these checks
|
||||
passed silently. Users should decorate their
|
||||
subclasses with the :func:`runtime_checkable` decorator
|
||||
if they want runtime protocols.
|
||||
(Contributed by Yurii Karabas in :issue:`38908`)
|
||||
|
||||
unittest
|
||||
--------
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Fix issue where :mod:`typing` protocols without the ``@runtime_checkable``
|
||||
decorator did not raise a ``TypeError`` when used with ``issubclass`` and
|
||||
``isinstance``. Now, subclassses of ``typing.Protocol`` will raise a
|
||||
``TypeError`` when used with with those checks.
|
||||
Subclasses of ``typing.Protocol`` which only have data variables declared
|
||||
will now raise a ``TypeError`` when checked with ``isinstance`` unless they
|
||||
are decorated with :func:`runtime_checkable`. Previously, these checks
|
||||
passed silently.
|
||||
Patch provided by Yurii Karabas.
|
||||
|
|
Loading…
Reference in New Issue