FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-159792: Suppress once-filtered warnings across modules by limadog9 · Pull Request #159829 · python/cpython · GitHub

Repository navigation

gh-159792: Suppress once-filtered warnings across modules - #159829

Open
limadog9 wants to merge 1 commit into
python:mainfrom
limadog9:gh-159792-warnings-once
Open

limadog9 wants to merge 1 commit into
python:mainfrom
limadog9:gh-159792-warnings-once

Conversation

limadog9 commented Oct 20, 2026 •
edited by bedevere-app Bot
Loading

Copy link
Copy Markdown
Contributor

Fixes #159792.

The accelerated warnings implementation used the supplied per-module registry for the "once" action. As a result, the same warning was emitted again from another module, contrary to the documented behavior and the pure-Python implementation.

Always use the global once registry for this action. Add a shared regression that emits the same warning on different lines in two modules; it fails with the unmodified C implementation and passes with this fix and with the Python implementation.

Validation on Linux x86-64 debug builds:

  • test_warnings and test_logging passed in GIL and free-threaded builds (494 test cases in each; expected skips).
  • ./python -X context_aware_warnings=1 -m test test_warnings passed.
  • ./python -m test -R 3:3 -m test_once_across_modules test_warnings passed with no reference leaks.
  • Ruff, NEWS reStructuredText lint, patchcheck, and git diff --check passed.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

warnings.simplefilter("once") emits the same warning once per module

1 participant


Back | FazBrowse Home | New Git URL