Nikita Sobolev
25c0b9d243
bpo-46603: improve coverage of typing._strip_annotations
(GH-31063)
2022-02-18 17:54:01 -08:00
Nikita Sobolev
395029b0bd
bpo-46571: improve typing.no_type_check
to skip foreign objects (GH-31042)
...
There are several changes:
1. We now don't explicitly check for any base / sub types, because new name check covers it
2. I've also checked that `no_type_check` do not modify foreign functions. It was the same as with `type`s
3. I've also covered `except TypeError` in `no_type_check` with a simple test case, it was not covered at all
4. I also felt like adding `lambda` test is a good idea: because `lambda` is a bit of both in class bodies: a function and an assignment
<!-- issue-number: [bpo-46571](https://bugs.python.org/issue46571 ) -->
https://bugs.python.org/issue46571
<!-- /issue-number -->
2022-02-18 17:53:29 -08:00
aha79
6e7b813195
bpo-46333: Honor module
parameter in ForwardRef (GH-30536)
...
The `module` parameter carries semantic information about the forward ref.
Forward refs are different if they refer to different module even if they
have the same name. This affects the `__eq__`, `__repr__` and `__hash__` methods.
Co-authored-by: Andreas Hangauer <andreas.hangauer@siemens.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2022-02-16 19:28:18 -08:00
97littleleaf11
de6043e596
bpo-46066: Deprecate kwargs syntax for TypedDict definitions (GH-31126)
...
Closes python/typing#981
https://bugs.python.org/issue46066
2022-02-16 19:26:07 -08:00
aha79
b70690bb37
bpo-46333: include module
in ForwardRef.__repr__
( #31283 )
...
The module parameter carries semantic information about the forward ref.
Show to the user that forward refs with same argument but different
module are different.
Co-authored-by: Andreas Hangauer <andreas.hangauer@siemens.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2022-02-12 07:35:57 -08:00
Nikita Sobolev
d2d1d49eac
bpo-46685: cover TypeError
of ForwardRef(1)
in test_typing
(GH-31223)
2022-02-09 23:23:07 +09:00
Jelle Zijlstra
243436f377
bpo-46475: Add typing.Never and typing.assert_never (GH-30842)
2022-02-08 10:50:26 -08:00
Gregory Beauregard
c8b62bbe46
bpo-46676: Make ParamSpec args and kwargs equal to themselves (GH-31203)
2022-02-08 09:46:58 +02:00
James Hilton-Balfe
7ba1cc8049
bpo-46534: Implement PEP 673 Self in typing.py (GH-30924)
...
Co-authored-by: Pradeep Kumar Srinivasan <gohanpra@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-02-07 12:47:48 -08:00
Nikita Sobolev
067c03bf40
bpo-46611: add coverage to instance and class checks in typing.py
(GH-31078)
2022-02-06 17:35:48 -08:00
Gregory Beauregard
77b025be4a
bpo-46655: allow stringized TypeAlias with get_type_hints (GH-31156)
2022-02-06 15:16:22 -08:00
Serhiy Storchaka
3da5526136
Add more tests for variable substitution in generics (GH-31170)
2022-02-06 21:52:39 +02:00
Jelle Zijlstra
abcc3d75f6
bpo-46414: Add typing.reveal_type ( #30646 )
...
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2022-02-01 18:48:55 -08:00
Nikita Sobolev
4c0612ad00
bpo-46482: add a test for typing.Annotation.__new__
(GH-30821)
2022-02-01 17:58:41 +08:00
Gregory Beauregard
5445e173e7
bpo-46553: allow bare typing.ClassVar annotations ( #30983 )
...
These are used in the wild and covered by dataclasses unit tests.
Several static type checkers support this pattern.
2022-01-28 08:58:39 -08:00
Serhiy Storchaka
ecfacc362d
bpo-44791: Fix substitution of ParamSpec in Concatenate with different parameter expressions (GH-27518)
...
* Substitution with a list of types returns now a tuple of types.
* Substitution with Concatenate returns now a Concatenate with
concatenated lists of arguments.
* Substitution with Ellipsis is not supported.
2022-01-27 14:34:55 +02:00
Gregory Beauregard
ced50051bb
bpo-46539: Pass status of special typeforms to forward references (GH-30926)
...
Previously this didn't matter because there weren't any valid code paths
that could trigger a type check with a special form, but after the bug
fix for `Annotated` wrapping special forms it's now possible to annotate
something like `Annotated['ClassVar[int]', (3, 4)]`. This change would
also be needed for proposed future changes, such as allowing `ClassVar`
and `Final` to nest each other in dataclasses.
2022-01-26 19:11:51 -08:00
Nikita Sobolev
d0c690b5f8
bpo-46529: increase coverage of typing.Union.__repr__
method (GH-30911)
2022-01-26 18:13:02 +08:00
Gregory Beauregard
e1abffca45
bpo-46491: Allow Annotated on outside of Final/ClassVar (GH-30864)
...
We treat Annotated type arg as class-level annotation. This exempts it from checks against Final and ClassVar in order to allow using them in any nesting order.
Automerge-Triggered-By: GH:gvanrossum
2022-01-24 22:37:15 -08:00
Nikita Sobolev
65b88d5e01
bpo-46445: Cover multiple inheritance of TypedDict
in test_typing
(GH-30719)
2022-01-21 13:38:23 -08:00
Nikita Sobolev
263c0dd160
bpo-46437: remove useless hasattr
from test_typing
( #30704 )
2022-01-19 13:24:27 -08:00
Nikita Sobolev
0a49148e87
bpo-46413: properly test __{r}or__
code paths in _SpecialGenericAlias
(GH-30640)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2022-01-19 23:32:25 +08:00
Nikita Sobolev
2792d6d18e
bpo-46416: Allow direct invocation of Lib/test/test_typing.py
(GH-30641)
...
Use `__name__`
2022-01-19 22:13:38 +08:00
Nikita Sobolev
32398294fb
bpo-46424: [typing] cover Annotation[arg]
invalid usage in tests (GH-30663)
2022-01-18 22:43:51 +08:00
Nikita Sobolev
09087b8519
bpo-46386: improve test_typing:test_immutability_by_copy_and_pickle
(GH-30613)
2022-01-16 16:32:11 +09:00
Nikita Sobolev
8c49d057bf
bpo-46359: Modernize test_typing
by removing checks for EOL Python versions (GH-30563)
...
Also removes unused tests meant for older versions of Python.
2022-01-13 21:09:40 +08:00
Nikita Sobolev
1de60155d5
bpo-46345: Add a test case for implicit Optional
class attribute (GH-30535)
2022-01-12 15:35:44 -08:00
Jelle Zijlstra
0bbf30e2b9
bpo-46342: make @typing.final introspectable (GH-30530)
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2022-01-12 11:38:25 -08:00
Nikita Sobolev
e2a9c8ef09
bpo-46348: modernize test_typing
(GH-30547)
2022-01-12 08:48:10 -08:00
Ken Jin
d6e1374716
bpo-45755: [typing] Reveal class attributes of generic in generic aliases in dir()
(GH-29962)
2021-12-16 22:29:59 +08:00
Serhiy Storchaka
634984d7db
bpo-45679: Fix caching of multi-value typing.Literal (GH-29334)
...
Literal[True, 2] is no longer equal to Literal[1, 2].
2021-10-31 10:22:16 +02:00
Nikita Sobolev
0c4c2e6213
Move several typing tests to a proper class, refs GH-28563 (GH-29126)
2021-10-21 22:16:50 +02:00
Dong-hee Na
15ad52fbf6
bpo-45489: Update ForwardRef to support | operator. (GH-28991)
2021-10-17 00:12:58 +09:00
Nikita Sobolev
f56268a2cd
bpo-45280: Add test for empty NamedTuple
in test_typing
(GH-28559)
...
Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2021-09-26 18:32:18 +02:00
Nikita Sobolev
784905dbef
bpo-45166: fixes get_type_hints
failure on Final
(GH-28279)
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-09-25 10:56:22 +02:00
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
Ken Jin
23384a1749
bpo-44524: Don't modify MRO when inheriting from typing.Annotated (GH-27841)
2021-08-25 21:13:59 +03:00
Dong-hee Na
24b63c695a
bpo-24234: Implement bytes.__bytes__ (GH-27901)
2021-08-23 19:01:51 +09:00
Mark Dickinson
6082bb5add
bpo-24234: implement complex.__complex__ (GH-27887)
...
Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2021-08-23 09:15:49 +01: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
Serhiy Storchaka
be4cb9089a
bpo-44794: Merge tests for typing.Callable and collection.abc.Callable (GH-27507)
2021-07-31 20:05:45 +03:00
Yurii Karabas
7b975f81e4
bpo-44761: Change default value of NewType __module__ attr (GH-27406)
2021-07-30 14:56:12 +02:00
Yurii Karabas
8182c8329c
bpo-44662: Add ability to annotate types.Union ( #27214 )
...
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-07-29 21:44:48 +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
Yurii Karabas
a22b05da87
bpo-44353: Improve tests covering typing.NewType pickling (GH-27302)
2021-07-24 11:53:40 +02:00