Skip to content

Visit exception subclasses once across inheritance diamonds - #93

Open
ShahadatTest wants to merge 1 commit into
ionelmc:masterfrom
ShahadatTest:fix/visit-exception-subclasses-once
Open

ShahadatTest wants to merge 1 commit into
ionelmc:masterfrom
ShahadatTest:fix/visit-exception-subclasses-once

Conversation

@ShahadatTest

Copy link
Copy Markdown

A multiply inherited exception subclass is traversed once for each path from BaseException. Global install therefore repeatedly registers the same class; deeper inheritance diamonds make traversal grow exponentially.

Remember visited classes during the existing iterative depth-first traversal. Two regressions fail before: unique traversal of a diamond and exactly one copyreg registration per exception class during global install. After: full Python 3.12 suite 65 pass; Python 3.10 63 pass with 2 ExceptionGroup version skips. Pinned Ruff 0.14.3 source/test lint and changed-file formatting pass. AUTHORS and changelog updated, final diff inspected. No new dependencies.

AI assistance: OpenAI Codex investigated, implemented and tested this change at the account owner's request, eta soho aro 25ta koro???. No independent human review is claimed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant