Skip to content

Conversation

@WojciechMazur
Copy link
Contributor

Backports #24975 to the 3.8.2-RC1.

PR submitted by the release tooling.
[skip ci]

The deprecated class NonLocalReturns.ReturnThrowable acquired a new base type
`caps.Control` in 3.8. That was a mistake. Later versions of the capture checker
reject that inheritance since `ReturnThrowable` is an exception and therefore
must be a pure class, whereas inheriting `caps.Control` would automatically
add a capture set to that class.

It's too late to revert for 3.8, but we should revert for 3.8.1. It's technically
a backwards incompatible change, but I would be extremely surprised if anyone has
used ReturnThrowable as a caps.Control in the 3.8.0 window.

[Cherry-picked 5924e08]
@WojciechMazur WojciechMazur requested a review from a team as a code owner January 22, 2026 00:50
@WojciechMazur
Copy link
Contributor Author

No regressions detected in the community build up to release-3.8.2_backport-25033.

Reference

@WojciechMazur WojciechMazur merged commit 9fb9806 into release-3.8.2 Jan 22, 2026
59 of 60 checks passed
@WojciechMazur WojciechMazur deleted the release-3.8.2_backport-24975 branch January 22, 2026 09:37
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.

3 participants