Skip to content

Conversation

tgodzik
Copy link

@tgodzik tgodzik commented Aug 28, 2025

Backports scala#23665 to the 3.3.7.

PR submitted by the release tooling.
[skip ci]

odersky and others added 2 commits August 28, 2025 13:24
explanation seems to be in ProtoTypes.scala:
```scala
            // To respect the pre-condition of `mergeConstraintWith` and keep
            // `protoTyperState` committable we must ensure that it does not
            // contain any type variable which don't already exist in the passed
            // TyperState. This is achieved by instantiating any such type
            // variable. NOTE: this does not suffice to discard type variables
            // in ancestors of `protoTyperState`, if this situation ever
            // comes up, an assertion in TyperState will trigger and this code
            // will need to be generalized.
```
We should go to the bottom of it and fix the assertion. But before
that's done this PR offers a temporary hack to catch the exception when
it is triggered from a new code path created by PR scala#23532. This should
fix the regression reported in scala#23609. We should leave the issue open as
a reminder that we still need a better fix.

Also: handle crash due to missing span in a migration helper.
scala#23609 triggers an assertion error in TyperState. The relevant
explanation seems to be in ProtoTypes.scala:
```scala
            // To respect the pre-condition of `mergeConstraintWith` and keep
            // `protoTyperState` committable we must ensure that it does not
            // contain any type variable which don't already exist in the passed
            // TyperState. This is achieved by instantiating any such type
            // variable. NOTE: this does not suffice to discard type variables
            // in ancestors of `protoTyperState`, if this situation ever
            // comes up, an assertion in TyperState will trigger and this code
            // will need to be generalized.
```
We should go to the bottom of it and fix the assertion. But before
that's done this PR offers a temporary hack to catch the exception when
it is triggered from a new code path created by PR scala#23532. This should
fix the regression reported in scala#23609. We should leave the issue open as
a reminder that we still need a better fix.

Also: handle crash due to missing span in a migration helper.
[Cherry-picked 408298d][modified]
@tgodzik
Copy link
Author

tgodzik commented Aug 29, 2025

No regressions detected in the community build up to backport-lts-3.3-23805.

Reference

@tgodzik tgodzik merged commit 023e01d into lts-3.3 Aug 29, 2025
22 checks passed
@tgodzik tgodzik deleted the backport-lts-3.3-23665 branch August 29, 2025 11:02
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.

2 participants