Open
Description
Bug report
Bug description:
When typing._caller
's sys._getframe
fallback is triggered without _abc
module, _typing._allow_reckless_class_checks
fails to check _py_abc
while running abc.ABCMeta.__instancecheck__
.
Without _abc
module, _typing._allow_reckless_class_checks
fails to check _py_abc
Related code in typing.py:
https://github.com/python/cpython/blob/v3.14.0b3/Lib/typing.py#L1846-L1863
This is technically a bug of typing.py, but really hard to be triggered on CPython.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Solution suggestion
Patch typing._allow_reckless_class_checks to also check _py_abc
This is the most conservative approach. Compatible with all of previous scenarios and additionally fixing the bug.
Patch typing._caller to remove sys._getframe or raise warning when fallback
If the the typing
requires to work with sys._getframemodulename, then let the users to know it has a caveat.