Alex Waygood
800382a2b0
gh-74690: Add more tests for runtime-checkable protocols ( #103347 )
2023-04-07 18:21:19 +01:00
Alex Waygood
6d59c9e32e
gh-102433: Use `inspect.getattr_static` in `typing._ProtocolMeta.__instancecheck__` ( #103034 )
2023-04-02 14:22:19 +01:00
Nikita Sobolev
60bdc16b45
gh-103054: typing: Improve `Callable` type substitution tests ( #103055 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Eclips4 <80244920+Eclips4@users.noreply.github.com>
2023-03-28 20:04:26 -07:00
Nikita Sobolev
adb0621652
gh-88965: typing: fix type substitution of a list of types after initial `ParamSpec` substitution ( #102808 )
...
Previously, this used to fail:
```py
from typing import *
T = TypeVar("T")
P = ParamSpec("P")
class X(Generic[P]):
f: Callable[P, int]
Y = X[[int, T]]
Z = Y[str]
```
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-23 16:26:11 +00:00
Nikita Sobolev
fbe82fdd77
gh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` ( #102722 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-16 14:47:30 +00:00
Nikita Sobolev
2b5781d659
gh-102615: Use `list` instead of `tuple` in `repr` of paramspec ( #102637 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-15 09:33:41 +00:00
Alex Waygood
5ffdaf748d
gh-102433: Add tests for how classes with properties interact with `isinstance()` checks on `typing.runtime_checkable` protocols ( #102449 )
...
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-03-11 01:20:20 +00:00
Alex Waygood
96e1022929
gh-102444: Fix minor bugs in `test_typing` highlighted by pyflakes ( #102445 )
2023-03-05 21:37:29 +00:00
JosephSBoyle
7894bbe94b
Fix unused classes in a typing test (GH-102437)
...
As part of investigation issue https://github.com/python/cpython/issues/102433 , I discovered what I believe to be an error where two classes `CI` and `DI` are not being used. The assertions beneath them act on `C` and `D`, duplicating existing assertions in this test.
Automerge-Triggered-By: GH:AlexWaygood
2023-03-05 07:07:44 -08:00
Nikita Sobolev
12011dd8ba
gh-102324: Improve tests of `typing.override` ( #102325 )
...
Fixes #101564
2023-03-02 19:59:05 -08:00
Steven Troxler
0f89acf6cc
gh-101561: Add typing.override decorator ( #101564 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-02-27 13:16:11 -08:00
Eclips4
b96b344f25
gh-101562: typing: add tests for inheritance with NotRequired & Required in parent fields ( #101563 )
2023-02-06 11:28:24 -08:00
Nikita Sobolev
807d6b576f
gh-101015: Fix `typing.get_type_hints` with unpacked `*tuple` (PEP 646) ( #101031 )
2023-01-23 07:52:58 +00:00
Erik De Bonte
5c19050546
gh-99957: Add `frozen_default` parameter on `dataclass_transform` ( #99958 )
2022-12-05 19:35:43 -08:00
Serhiy Storchaka
8f2fb7dfe7
gh-99344, gh-99379, gh-99382: Fix issues in substitution of ParamSpec and TypeVarTuple (GH-99412)
...
* Fix substitution of TypeVarTuple and ParamSpec together in user generics.
* Fix substitution of ParamSpec followed by TypeVarTuple in generic aliases.
* Check the number of arguments in substitution in user generics containing a
TypeVarTuple and one or more TypeVar.
2022-11-29 09:46:52 +02:00
Nikita Sobolev
a0bc75e2fd
`test_typing`: use all pickle protocols ( #99154 )
2022-11-06 11:53:57 +00:00
Serhiy Storchaka
0e15c31c7e
gh-98852: Fix subscription of type aliases (GH-98920)
...
Fix subscription of type aliases containing bare generic types or types
like TypeVar: for example tuple[A, T][int] and tuple[TypeVar, T][int],
where A is a generic type, and T is a type variable.
2022-11-01 09:33:09 +02:00
Nikita Sobolev
9495360c72
gh-98713: Use `@cpython_only` for a test that fails on PyPy ( #98714 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-10-26 14:15:39 +01:00
Matthew Rahtz
cb95cc24ef
GH-87390: Add remaining tests for PEP 646 ( #98267 )
...
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
2022-10-25 07:44:30 -07:00
Nikita Sobolev
45c89358b7
Use more precise exception types in `assertRaises` in typing tests ( #98650 )
2022-10-25 06:33:34 -07:00
Nikita Sobolev
1ca6647f22
typing tests: `_overload_dummy` raises `NotImplementedError`, not `RuntimeError` ( #98351 )
2022-10-19 17:53:36 -07:00
Nikita Sobolev
f2d749a2c2
gh-96784: Cover more typing special forms in `get_args()` ( #96791 )
2022-09-13 19:35:52 -07:00
Nikita Sobolev
9b3d2d008a
gh-96769: Cover more typing special forms to be unsubclassable ( #96772 )
2022-09-13 19:35:16 -07:00
Jelle Zijlstra
f0d9136c69
gh-96478: Fix new test when run in refleak mode ( #96615 )
...
./python.exe -m test -R : test.test_typing would fail, apparently
because the dictionary used in the @patch decorator was modified.
2022-09-06 09:33:09 -07:00
Nikita Sobolev
f177f6f29b
gh-96478: Test `@overload` on C functions ( #96479 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-09-05 14:35:05 -07:00
Anh71me
0cd33e11fe
GH-96079 Fix missing field name for _AnnotatedAlias ( #96080 )
2022-08-31 16:02:24 -07:00
Nikita Sobolev
4217393aee
gh-95987: Fix `repr` of `Any` type subclasses ( #96412 )
2022-08-30 10:36:16 -07:00
Nikita Sobolev
75177358a6
gh-96385: Correctly raise error on `[*T, *V]` substitution (GH-96386)
2022-08-30 10:34:55 +03:00
Nikita Sobolev
675e3470cc
gh-96357: Improve `typing.get_overloads` coverage ( #96358 )
2022-08-28 17:45:24 -07:00
Ken Jin
6442a9dd21
gh-94607: Fix subclassing generics (GH-94610)
...
Co-authored-by: Serhiy Storchaka <3659035+serhiy-storchaka@users.noreply.github.com>
2022-07-09 12:18:01 +08:00
Serhiy Storchaka
75cb3abc3b
gh-94245: Test pickling and copying of typing.Tuple[()] (GH-94259)
2022-06-25 18:46:33 +03:00
Gregory Beauregard
81e91c95a5
bpo-46642: Explicitly disallow subclassing of instaces of TypeVar, ParamSpec, etc (GH-31148)
...
The existing test covering this case passed only incidentally. We
explicitly disallow doing this and add a proper error message.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-06-25 09:35:33 +03:00
Serhiy Storchaka
3473817106
gh-91162: Support splitting of unpacked arbitrary-length tuple over TypeVar and TypeVarTuple parameters (alt) (GH-93412)
...
For example:
A[T, *Ts][*tuple[int, ...]] -> A[int, *tuple[int, ...]]
A[*Ts, T][*tuple[int, ...]] -> A[*tuple[int, ...], int]
2022-06-12 16:22:01 +03:00
Serhiy Storchaka
f545fc955a
gh-93345: Fix a crash in substitution of nested TypeVar after TypeVarTuple (GH-93346)
...
For example: tuple[*Ts, list[T]][int, str, bool]
2022-05-31 08:46:16 +03:00
Serhiy Storchaka
9d25db9db1
gh-91162: Fix substitution of unpacked tuples in generic aliases (GH-92335)
2022-05-08 18:32:32 +03:00
Matthew Rahtz
4739997e14
gh-92261: Disallow iteration of Union (and other special forms) (GH-92262)
2022-05-08 16:21:28 +03:00
Serhiy Storchaka
9d20e1af40
gh-92107: Add tests that subscription works on arbitrary named tuple types (GH-92304)
2022-05-04 17:06:50 +03:00
Samodya Abey
f6f36cc269
bpo-44863: Allow generic typing.TypedDict ( #27663 )
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-05-03 07:21:42 -06:00
Shantanu
ebb8b512e9
gh-91621: Fix typing.get_type_hints for collections.abc.Callable ( #91656 )
...
This mirrors logic in typing.get_args. The trickiness comes from how we
flatten args in collections.abc.Callable, see
https://bugs.python.org/issue42195
2022-05-02 17:08:28 -06:00
Serhiy Storchaka
b04e02c57f
bpo-43923: Add support for generic typing.NamedTuple ( #92027 )
2022-05-02 16:41:23 -06:00
Serhiy Storchaka
81fb3548be
gh-92106: Add test that subscription works on arbitrary TypedDicts ( #92176 )
2022-05-02 16:38:39 -06:00
Serhiy Storchaka
e8c2f72b94
bpo-43224: Implement substitution of unpacked TypeVarTuple in C (GH-31828)
...
Co-authored-by: Matthew Rahtz <mrahtz@gmail.com>
2022-04-30 08:22:46 +03:00
Dennis Sweeney
a29aa76a3f
gh-92064: Fix global variable name collision in test_typing ( #92067 )
...
Fixes #92064
2022-04-29 21:18:38 -06:00
Serhiy Storchaka
81120b6754
bpo-44791: Accept ellipsis as the last argument of typing.Concatenate ( #30969 )
2022-04-29 15:01:40 -06:00
Matthew Rahtz
f6656163de
gh-87390: Add tests demonstrating current type variable substitution behaviour ( #32341 )
2022-04-29 14:03:21 -06:00
Jelle Zijlstra
5397b5afc1
gh-91860: Add typing.dataclass_transform (PEP 681) ( #91861 )
...
Copied from typing-extensions (python/typing#1054 , python/typing#1120 ).
Documentation is intentionally omitted, so we can focus on getting the
runtime part in before the feature freeze.
2022-04-25 20:30:25 -07:00
Jelle Zijlstra
93d280141c
gh-90633: Improve error and docs for typing.assert_never ( #91720 )
...
Closes #90633
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-04-25 06:40:18 -07:00
Matthew Rahtz
5e130a8da4
bpo-43224: Implement pickling of TypeVarTuples ( #32119 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-04-21 21:22:53 -07:00
Jelle Zijlstra
055760ed9e
gh-89263: Add typing.get_overloads (GH-31716)
...
Based on suggestions by Guido van Rossum, Spencer Brown, and Alex Waygood.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Ken Jin <kenjin4096@gmail.com>
2022-04-16 09:01:43 -07:00
Matthew Rahtz
f2bc12f0d5
bpo-43224: Add tests for TypeVarTuple substitution in Annotated (GH-31846)
2022-04-15 21:24:28 -07:00