Yurii Karabas
c11956a8bd
bpo-45121: Fix RecursionError when calling Protocol.__init__ from a subclass' __init__ (GH-28206)
2021-09-08 18:25:09 +08:00
Yurii Karabas
0635e201be
bpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-09-02 18:17:13 +02:00
Ken Jin
23384a1749
bpo-44524: Don't modify MRO when inheriting from typing.Annotated (GH-27841)
2021-08-25 21:13:59 +03:00
Serhiy Storchaka
4ceec49559
bpo-44524: Do not set _name of _SpecialForm without need (GH-27861)
...
Because setting non-empty _name affects behavior of other code.
In most cases __name__ can be derived from __origin__.__name__.
2021-08-21 09:47:59 +03:00
Yurii Karabas
a3a4d20d67
bpo-44524: Fix cryptic TypeError message when trying to subclass special forms in `typing` (GH-27710)
...
This was a Python 3.9 regression.
2021-08-18 21:08:32 +02:00
Bas van Beek
8bdf12e99a
bpo-44524: Fix an issue wherein `_GenericAlias._name` was not properly set for specialforms (GH-27614)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-06 15:36:35 +02:00
Serhiy Storchaka
3875a69547
bpo-44801: Check arguments in substitution of ParamSpec in Callable (GH-27585)
2021-08-04 20:07:01 +02:00
Serhiy Storchaka
043cd60abe
bpo-44806: Fix __init__ in subclasses of protocols (GH-27545)
...
Non-protocol subclasses of protocol ignore now the __init__ method
inherited from protocol base classes.
2021-08-02 18:23:22 +02:00
Serhiy Storchaka
f92b9133ef
bpo-44793: Fix checking the number of arguments when subscribe a generic type with ParamSpec parameter. (GH-27515)
...
For example Callable[P, T][[int], str, float] will now raise an error.
Use also term "arguments" instead of "parameters" in error
message for too few/many arguments.
2021-08-02 09:17:46 +03:00
Yurii Karabas
ea4673ed07
bpo-44747: Refactor usage of sys._getframe at typing module ( #27387 )
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-07-30 15:49:24 +02:00
Yurii Karabas
7b975f81e4
bpo-44761: Change default value of NewType __module__ attr (GH-27406)
2021-07-30 14:56:12 +02:00
Hasan
2b8ad9e6c5
bpo-44732: Rename types.Union to types.UnionType ( #27342 )
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2021-07-26 18:00:21 +02:00
Serhiy Storchaka
435a0334d3
bpo-44676: Serialize the union type using only public API (GH-27323)
...
Remove also the _from_args() constructor.
2021-07-24 21:26:02 +03:00
Serhiy Storchaka
0828423127
bpo-44731: Simplify the union type implementation (GH-27318)
...
Remove direct support of typing types in the C code because they are already supported by defining methods __or__ and __ror__ in the Python code.
2021-07-24 14:34:48 +01:00
Serhiy Storchaka
e89ef0ad2a
bpo-44353: Expand NewType tests for complex __qualname__. ( #27311 )
...
Make NewType pickleable by name.
2021-07-24 09:40:08 +02:00
Yurii Karabas
fe13f0b0f6
bpo-44676: Add ability to serialize types.Union (GH-27244)
2021-07-23 11:47:00 +02:00
Yurii Karabas
96c4cbd96c
bpo-44353: Implement typing.NewType __call__ method in C ( #27262 )
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Denis Laxalde <denis@laxalde.org>
2021-07-22 23:06:54 +02:00
Yurii Karabas
965dd76e90
bpo-44353: Refactor typing.NewType into callable class (GH-27250)
2021-07-20 15:20:38 +02:00
Yurii Karabas
bce1418541
bpo-44524: Add missed __name__ and __qualname__ to typing module objects ( #27237 )
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-07-19 19:22:12 +02:00
Serhiy Storchaka
0fd27375ca
bpo-44654: Refactor and clean up the union type implementation (GH-27196)
2021-07-17 22:44:10 +03:00
Germán Méndez Bravo
889036f7ef
bpo-41249: Fix postponed annotations for TypedDict (GH-27017)
...
This fixes TypedDict to work with get_type_hints and postponed evaluation of annotations across modules.
This is done by adding the module name to ForwardRef at the time the object is created and using that to resolve the globals during the evaluation.
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-07-16 20:49:30 -07:00
Yurii Karabas
bf89ff96e6
bpo-44490: Improve typing module compatibility with types.Union (GH-27048)
2021-07-16 20:33:40 -07:00
Serhiy Storchaka
0cd2d51aad
bpo-44652: Preserve natural order of args in the union type. (GH-27185)
2021-07-16 16:11:30 +03:00
Sebastian Rittau
8b849ea0f3
bpo-38291: Fix a spurious warning when using help(object) ( #27039 )
...
help(object) via pydoc.TextDoc.docclass(object) iterates over the
subclasses of object, which includes typing.io and typing.re if typing
is imported. It tries to access cls.__module__ for each of those
sub-classes. This change suppresses warnings when accessing
cls.__module__.
2021-07-06 08:01:15 -07:00
will-ca
7569c0fe91
bpo-44468: Never skip base classes in `typing.get_type_hints()`, even with invalid `.__module__`. (GH-26862)
2021-06-26 16:31:32 -07:00
Sebastian Rittau
09eb817115
bpo-38291: DeprecationWarning when importing typing.{io,re} ( #26719 )
2021-06-19 10:31:18 -07:00
Ken Jin
b2f3f8e3d8
bpo-44098: Drop ParamSpec from most ``__parameters__`` in typing generics (GH-26013)
...
Added two new attributes to ``_GenericAlias``:
* ``_typevar_types``, a single type or tuple of types indicating what types are treated as a ``TypeVar``. Used for ``isinstance`` checks.
* ``_paramspec_tvars ``, a boolean flag which guards special behavior for dealing with ``ParamSpec``. Setting it to ``True`` means this class deals with ``ParamSpec``.
Automerge-Triggered-By: GH:gvanrossum
2021-05-12 22:24:35 -07:00
Yurii Karabas
c40486a32d
bpo-38908: Fix issue when non runtime_protocol failed to raise TypeError ( #26067 )
2021-05-12 08:47:49 -07:00
Dong-hee Na
f4013eba41
typing: format patch with make patchcheck (GH-25919)
2021-05-06 02:08:20 +09:00
Jelle Zijlstra
b115579734
bpo-38352: Add to typing.__all__ ( #25821 )
...
This adds IO, TextIO, BinaryIO, Match, and Pattern.
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-05-04 11:29:49 +02:00
larryhastings
2f2b69855d
bpo-43901: Lazy-create an empty annotations dict in all unannotated user classes and modules ( #25623 )
...
Change class and module objects to lazy-create empty annotations dicts on demand. The annotations dicts are stored in the object's `__dict__` for backwards compatibility.
2021-04-29 20:09:08 -07:00
Ken Jin
05ab4b60ab
bpo-43766: Implement PEP 647 (User-Defined Type Guards) in typing.py ( #25282 )
2021-04-27 07:31:04 -07:00
Ken Jin
1b1f9852bd
bpo-42904: Change search order of typing.get_type_hints eval ( #25632 )
...
While surprising (searching globals before locals in one specific case), this is needed for backwards compatibility.
2021-04-26 10:31:21 -07:00
Pablo Galindo
b0544ba77c
bpo-38605: Revert making 'from __future__ import annotations' the default (GH-25490)
...
This reverts commits 044a1048ca
and 1be456ae9d
, adapting the code to changes that happened after it.
2021-04-21 12:41:19 +01:00
Victor Stinner
a6a5c91b1e
bpo-40443: Remove unused imports (GH-25429)
...
* pyclbr no longer uses copy
* typing no longer uses ast
Issue discovered by pyflakes.
2021-04-16 11:26:06 +02:00
Karthikeyan Singaravelan
a9cf69df2e
bpo-41515: Fix KeyError raised in get_type_hints (GH-25352)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: efahl <36704995+efahl@users.noreply.github.com>
2021-04-12 11:17:25 -07:00
Ken Jin
852150ddfe
bpo-42904: Fix get_type_hints for class local namespaces (GH-24201)
2021-04-12 10:23:12 -07:00
Jelle Zijlstra
9045919bfa
bpo-43772: Fix TypeVar.__ror__ (GH-25339)
2021-04-10 20:00:05 -07:00
Jelle Zijlstra
522433601a
bpo-43783: Add ParamSpecArgs/Kwargs (GH-25298)
2021-04-10 19:57:05 -07:00
Ken Jin
ace008c531
Fix various ParamSpec errors in typing (GH-24176)
...
1. ParamSpec -> TypeVar for ``typing.Concatenate``
2. ParamSpec's call signature should align with its documentation.
Noticed in GH-24169
2021-01-10 16:11:41 -08:00
Ken Jin
11276cd9c4
bpo-41559: Documentation for PEP 612 (GH-24000)
2021-01-01 16:45:50 -08:00
Ross
c1af128f5a
bpo-41781: Fix typo in internal function name in typing (GH-23957)
2020-12-29 13:55:28 +02:00
Ken Jin
efb1f0918f
bpo-42740: Support PEP 604, 612 for typing.py get_args and get_origin (GH-23942)
2020-12-28 18:26:19 -08:00
Ken Jin
4140f10a16
bpo-42740: Fix get_args for PEP 585 collections.abc.Callable (GH-23963)
...
PR 1/2. Needs backport to 3.9.
2020-12-28 12:06:19 -08:00
kj
73607be686
bpo-41559: Implement PEP 612 - Add ParamSpec and Concatenate to typing ( #23702 )
2020-12-23 20:33:48 -08:00
kj
463c7d3d14
bpo-42195: Ensure consistency of Callable's __args__ in collections.abc and typing (GH-23060)
2020-12-13 10:38:24 -08:00
Alex Grönholm
67b769f515
bpo-42059: Fix required/optional keys for TypedDict(..., total=False) (GH-22736)
2020-12-10 13:49:05 -08:00
Yurii Karabas
1b54077ff6
bpo-42345: Fix hash implementation of typing.Literal (GH-23383)
...
Fix hash implementation of `typing.Literal`.
Update docs regarding `typing.Litaral` caching.
Base implementation was done in PR #23294 .
2020-11-19 08:17:38 -08:00
Yurii Karabas
f03d318ca4
bpo-42345: Fix three issues with typing.Literal parameters (GH-23294)
...
Literal equality no longer depends on the order of arguments.
Fix issue related to `typing.Literal` caching by adding `typed` parameter to `typing._tp_cache` function.
Add deduplication of `typing.Literal` arguments.
2020-11-16 18:23:19 -08:00
kj
1f7dfb277e
bpo-42233: Correctly repr GenericAlias when used with typing module (GH-23081)
...
Noticed by @serhiy-storchaka in the bpo. `typing`'s types were not showing the parameterized generic.
Eg. previously:
```python
>>> typing.Union[dict[str, float], list[int]]
'typing.Union[dict, list]'
```
Now:
```python
>>> typing.Union[dict[str, float], list[int]]
'typing.Union[dict[str, float], list[int]]'
```
Automerge-Triggered-By: GH:gvanrossum
2020-11-01 10:13:38 -08:00