Currently, if a function exists at runtime but is missing from the stub, stubtest will emit an error message like this:
error: shelve.Shelf.__del__ is not present in stub
Stub: in file stdlib\shelve.pyi
MISSING
Runtime: in file C:\Users\alexw\AppData\Local\Programs\Python\Python312\Lib\shelve.py:157
<function Shelf.__del__ at 0x0000024822FD7060>
error: subprocess.Popen.__del__ is not present in stub
Stub: in file stdlib\subprocess.pyi
MISSING
Runtime: in file C:\Users\alexw\AppData\Local\Programs\Python\Python312\Lib\subprocess.py:1120
<function Popen.__del__ at 0x00000248215D3D80>
This isn't particularly helpful: it doesn't tell you anything about the function at runtime, just that there is one. With this PR, stubtest's error messages change to this, which is much more helpful:
error: shelve.Shelf.__del__ is not present in stub
Stub: in file stdlib\shelve.pyi
MISSING
Runtime: in file C:\Users\alexw\AppData\Local\Programs\Python\Python312\Lib\shelve.py:157
def (self)
error: subprocess.Popen.__del__ is not present in stub
Stub: in file stdlib\subprocess.pyi
MISSING
Runtime: in file C:\Users\alexw\AppData\Local\Programs\Python\Python312\Lib\subprocess.py:1120
def (self, _maxsize=9223372036854775807, _warn=<built-in function warn>)
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
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.
Currently, if a function exists at runtime but is missing from the stub, stubtest will emit an error message like this:
This isn't particularly helpful: it doesn't tell you anything about the function at runtime, just that there is one. With this PR, stubtest's error messages change to this, which is much more helpful: