Skip to content

Conversation

@WojciechMazur
Copy link
Contributor

@WojciechMazur WojciechMazur commented Jan 20, 2026

Backports #24975 to the 3.8.1 (hotfix).

PR submitted by the release tooling.

Would also be backported to 3.8.2-RC2 (successor of 3.8.1-RC1)

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][modified]
@WojciechMazur WojciechMazur requested a review from a team as a code owner January 20, 2026 10:27
@WojciechMazur WojciechMazur requested a review from sjrd January 20, 2026 10:28
@WojciechMazur
Copy link
Contributor Author

No regressions detected in the community build up to release-3.8.1_backport-25008.

Reference

@WojciechMazur WojciechMazur merged commit 3ddf38e into release-3.8.1 Jan 20, 2026
60 checks passed
@WojciechMazur WojciechMazur deleted the release-3.8.1_backport-24975 branch January 20, 2026 16:38
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