PEP 724: Add the Rationale section (#3447)
This commit is contained in:
parent
a703204b82
commit
a159a9ac58
|
@ -83,6 +83,19 @@ The following code sample demonstrates both of these limitations.
|
|||
return ``TypeGuard`` type was not a subtype of the input type. Refer to
|
||||
:pep:`647` for examples.
|
||||
|
||||
Rationale
|
||||
=========
|
||||
|
||||
There are a number of issues where a stricter ``TypeGuard`` would have
|
||||
been a solution:
|
||||
|
||||
* `Python typing issue - TypeGuard doesn't intersect like isinstance <https://github.com/python/typing/issues/1351>`__
|
||||
* `Pyright issue - TypeGuard not eliminating possibility on branch <https://github.com/microsoft/pyright/issues/3450>`__
|
||||
* `Pyright issue - Type narrowing for Literal doesn't work <https://github.com/microsoft/pyright/issues/3466>`__
|
||||
* `Mypy issue - TypeGuard is incompatible with exhaustive check <https://github.com/python/mypy/issues/15305>`__
|
||||
* `Mypy issue - Incorrect type narrowing for inspect.isawaitable <https://github.com/python/mypy/issues/15520>`__
|
||||
* `Typeshed issue - asyncio.iscoroutinefunction is not a TypeGuard <https://github.com/python/typeshed/issues/8009>`__
|
||||
|
||||
|
||||
Specification
|
||||
=============
|
||||
|
|
Loading…
Reference in New Issue