Uh oh!
There was an error while loading. Please reload this page.
bpo-46414: Add typing.reveal_type - #30646
Conversation
Part of the documentation was taken from mypy: https://mypy.readthedocs.io/en/stable/common_issues.html#reveal-type
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
sobolevn
commented
Jan 17, 2022
Thank you! This solves my old pain with redefining fromtypingimportTYPE_CHECKINGifnotTYPE_CHECKING:
reveal_type=print |
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
gvanrossum
commented
Jan 17, 2022
Hold on. This feels awkward, since previously this was a builtin. I don’t want to have to import it. |
JelleZijlstra
commented
Jan 17, 2022
Type checkers would still allow using it without the import. You'll have the option to import it if you want to run your code or document to readers what |
gvanrossum
commented
Jan 17, 2022
It needs more discussion. Please wait until I have a keyboard. |
JelleZijlstra
commented
Jan 17, 2022
No hurry! I also opened a thread on typing-sig about this, that's probably the best place to discuss how it should work. |
JelleZijlstra
commented
Jan 22, 2022
@gvanrossum based on the discussion on typing-sig, are you satisfied with this change now? I'm planning to also add |
JelleZijlstra
commented
Jan 22, 2022
Wait, I didn't address Nikita's review yet. |
gvanrossum
commented
Jan 23, 2022
Did we bikeshed yet whether it should write to stdout or stderr? |
JelleZijlstra
commented
Jan 23, 2022
No, though there have been some suggestions about the output format; I just sent a typing-sig email about that too. Personally I don't care much but I'd like to keep it simple. |
gvanrossum
commented
Jan 23, 2022
I'm just thinking that sending the output to stderr would be more in line with the debug nature of the API. |
JelleZijlstra
commented
Jan 23, 2022
Pushed a change to make it write to stderr instead. |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Guido van Rossum <guido@python.org>
| sys.modules[re.__name__] = re | ||
| def reveal_type(obj: T, /) -> T: |
There was a problem hiding this comment.
Do we use type hints in typing.py? 🤔
There was a problem hiding this comment.
If this is merged, we will :). I don't see any reason not to, especially in cases like this where the type is simple and helps document the behavior.
There was a problem hiding this comment.
There are type annotations in a few lines of typing.py:
Line 2531 in 270a091
It's just about the only module in the stdlib in which I've spotted any type annotations other than importlib :)
JelleZijlstra
commented
Feb 2, 2022
@gvanrossum do you think this is ready to merge now? The discussion on typing-sig has died down. (You added the "Do not merge" label a while ago.) I think the other new function PRs are also ready, but I can ping you on those later. |
bedevere-bot
commented
Feb 2, 2022
@gvanrossum: Please replace |
gvanrossum
commented
Feb 2, 2022
Should probably post the resolution to typing-sig. |
Part of the documentation was taken from mypy:
https://mypy.readthedocs.io/en/stable/common_issues.html#reveal-type
https://bugs.python.org/issue46414