Allow frame to be None in default_int_handler#6599
Merged
Akuli merged 2 commits intoDec 16, 2021
Conversation
Contributor
Author
|
Failure seems to be fixed by #6600 |
srittau
approved these changes
Dec 16, 2021
Following the changes in python#5622 handlers are typed as taking an Optional frame but the default_int_handler does not take None. This seems inconsistent and pervents you from calling the default handler from a custom handler without checking that the frame is not None first.
855bb92 to
c845e84
Compare
This comment has been minimized.
This comment has been minimized.
Contributor
|
Diff from mypy_primer, showing the effect of this PR on open source code: ppb-vector (https://github.com/ppb/ppb-vector)
- File "/tmp/mypy_primer/old_mypy/venv/bin/mypy", line 8, in <module>
+ File "/tmp/mypy_primer/new_mypy/venv/bin/mypy", line 8, in <module>
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/__main__.py", line 11, in console_entry
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/__main__.py", line 11, in console_entry
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 87, in main
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 87, in main
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 165, in run_build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 165, in run_build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 179, in build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 179, in build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 254, in _build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 254, in _build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2644, in dispatch
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2644, in dispatch
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2802, in load_graph
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2802, in load_graph
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1888, in __init__
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1888, in __init__
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2016, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2016, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1955, in wrap_context
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1955, in wrap_context
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2046, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2046, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 788, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 788, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/parse.py", line 25, in parse
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/parse.py", line 25, in parse
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 168, in parse
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 168, in parse
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 496, in visit_Module
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 496, in visit_Module
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 509, in visit_FunctionDef
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 509, in visit_FunctionDef
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 607, in do_func_def
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 607, in do_func_def
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 327, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 327, in visit
pylox (https://github.com/sco1/pylox)
- File "/tmp/mypy_primer/old_mypy/venv/bin/mypy", line 8, in <module>
+ File "/tmp/mypy_primer/new_mypy/venv/bin/mypy", line 8, in <module>
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/__main__.py", line 11, in console_entry
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/__main__.py", line 11, in console_entry
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 87, in main
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 87, in main
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 165, in run_build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/main.py", line 165, in run_build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 179, in build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 179, in build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 254, in _build
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 254, in _build
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2644, in dispatch
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2644, in dispatch
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2802, in load_graph
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2802, in load_graph
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1888, in __init__
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1888, in __init__
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2016, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2016, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1955, in wrap_context
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 1955, in wrap_context
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2046, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 2046, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 788, in parse_file
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/build.py", line 788, in parse_file
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/parse.py", line 25, in parse
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/parse.py", line 25, in parse
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 168, in parse
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 168, in parse
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 496, in visit_Module
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 496, in visit_Module
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 729, in visit_ClassDef
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 729, in visit_ClassDef
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 329, in visit
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 509, in visit_FunctionDef
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 509, in visit_FunctionDef
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 607, in do_func_def
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 607, in do_func_def
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 439, in as_required_block
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 367, in translate_stmt_list
- File "/tmp/mypy_primer/old_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 327, in visit
+ File "/tmp/mypy_primer/new_mypy/venv/lib/python3.10/site-packages/mypy/fastparse.py", line 327, in visit
pip (https://github.com/pypa/pip)
- src/pip/_internal/cli/progress_bars.py:99: error: Incompatible types in assignment (expression has type "Callable[[int, FrameType], None]", variable has type "Union[Callable[[int, Optional[FrameType]], Any], int, Handlers, None]")
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Following the changes in #5622
handlers are typed as taking an Optional frame but the
default_int_handler does not take None. This seems inconsistent
and prevents you from calling the default handler from a custom handler
without checking that the frame is not None first.