diff options
author | Nikita Sobolev <mail@sobolevn.me> | 2022-02-19 01:53:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-19 01:53:29 (GMT) |
commit | 395029b0bd343648b4da8044c7509672ea768775 (patch) | |
tree | cdbf8b86c5bead4d8315c100a7f732f92902b817 /Misc | |
parent | f80a97b492f41afd3c42bb2bd6da7b2828dca215 (diff) | |
download | cpython-395029b0bd343648b4da8044c7509672ea768775.zip cpython-395029b0bd343648b4da8044c7509672ea768775.tar.gz cpython-395029b0bd343648b4da8044c7509672ea768775.tar.bz2 |
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 -->
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/NEWS.d/next/Library/2022-02-01-11-21-34.bpo-46571.L40xUJ.rst | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2022-02-01-11-21-34.bpo-46571.L40xUJ.rst b/Misc/NEWS.d/next/Library/2022-02-01-11-21-34.bpo-46571.L40xUJ.rst new file mode 100644 index 0000000..f56c9e4 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-02-01-11-21-34.bpo-46571.L40xUJ.rst @@ -0,0 +1,4 @@ +Improve :func:`typing.no_type_check`. + +Now it does not modify external classes and functions. +We also now correctly mark classmethods as not to be type checked. |