Skip to content

Conversation

@suneettipirneni
Copy link
Contributor

Summary

Closes astral-sh/ty#577. Make global __debug__ a bool constant.

Test Plan

Mdtest global-constants.md was created to check if resolved type was bool.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2025

mypy_primer results

Changes were detected when running on open source projects
beartype (https://github.com/beartype/beartype)
- error[unresolved-reference] beartype/_util/py/utilpyinterpreter.py:59:12: Name `__debug__` used when not defined
- Found 571 diagnostics
+ Found 570 diagnostics

comtypes (https://github.com/enthought/comtypes)
- error[unresolved-reference] comtypes/_post_coinit/unknwn.py:31:8: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/server/register.py:375:30: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/codegenerator.py:32:21: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/codegenerator.py:710:12: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/codegenerator.py:725:12: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/codegenerator.py:734:12: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/helpers.py:124:12: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/helpers.py:228:12: Name `__debug__` used when not defined
- error[unresolved-reference] comtypes/tools/codegenerator/helpers.py:287:12: Name `__debug__` used when not defined
- Found 595 diagnostics
+ Found 586 diagnostics

pytest (https://github.com/pytest-dev/pytest)
- error[unresolved-reference] src/_pytest/assertion/rewrite.py:58:21: Name `__debug__` used when not defined
- Found 776 diagnostics
+ Found 775 diagnostics

jinja (https://github.com/pallets/jinja)
- error[unresolved-reference] src/jinja2/runtime.py:274:12: Name `__debug__` used when not defined
- Found 226 diagnostics
+ Found 225 diagnostics

mitmproxy (https://github.com/mitmproxy/mitmproxy)
- error[unresolved-reference] mitmproxy/http.py:189:8: Name `__debug__` used when not defined
- error[unresolved-reference] mitmproxy/proxy/utils.py:17:12: Name `__debug__` used when not defined
- error[unresolved-reference] mitmproxy/utils/asyncio_utils.py:46:8: Name `__debug__` used when not defined
- Found 2050 diagnostics
+ Found 2047 diagnostics

rotki (https://github.com/rotki/rotki)
- error[unresolved-reference] rotkehlchen/api/server.py:435:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/api/server.py:501:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/base.py:70:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/base.py:79:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/base.py:92:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/base.py:104:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/decoder.py:346:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/chain/evm/decoding/decoder.py:1468:8: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:47:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:57:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:61:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:65:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:86:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:95:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:104:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:107:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:115:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:118:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:137:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:140:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:145:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:150:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:155:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:158:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:191:8: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:209:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:212:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:284:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:287:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:292:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:295:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:303:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:306:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:312:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:317:20: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:322:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:327:20: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:490:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/drivers/gevent.py:496:16: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/db/updates.py:80:12: Name `__debug__` used when not defined
- error[unresolved-reference] rotkehlchen/history/events/structures/base.py:137:12: Name `__debug__` used when not defined
- Found 2034 diagnostics
+ Found 1993 diagnostics

manticore (https://github.com/trailofbits/manticore)
- error[unresolved-reference] tests/native/test_abi.py:482:12: Name `__debug__` used when not defined
- error[unresolved-reference] tests/native/test_armv7rf.py:32:12: Name `__debug__` used when not defined
- Found 1229 diagnostics
+ Found 1227 diagnostics

@ntBre ntBre added the ty Multi-file analysis & type inference label Jun 8, 2025
Copy link
Contributor

@sharkdp sharkdp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@sharkdp sharkdp enabled auto-merge (squash) June 10, 2025 06:44
@sharkdp sharkdp merged commit 161446a into astral-sh:main Jun 10, 2025
34 checks passed
med1844 pushed a commit to med1844/ruff that referenced this pull request Jun 10, 2025
## Summary

Closes astral-sh/ty#577. Make global
`__debug__` a `bool` constant.

## Test Plan

Mdtest `global-constants.md` was created to check if resolved type was
`bool`.

---------

Co-authored-by: David Peter <[email protected]>
dcreager added a commit that referenced this pull request Jun 10, 2025
* main:
  [`pylint`] De-emphasize `__hash__ = Parent.__hash__` (`PLW1641`) (#18613)
  [`flake8-pyi`] Avoid syntax error in the case of starred and keyword arguments (`PYI059`) (#18611)
  [ty] Add support for global __debug__ constant (#18540)
  [`ruff`] Preserve parentheses around `deque` in fix for `unnecessary-empty-iterable-within-deque-call` (`RUF037`) (#18598)
  [`refurb`] Parenthesize lambda and ternary expressions in iter (`FURB122`, `FURB142`) (#18592)
@dhruvmanila dhruvmanila changed the title [ty] Add support for global __debug__ constant [ty] Add support for global __debug__ constant Jun 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

__debug__ symbol not recognized

3 participants