You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/_posts/2024-03-06-scala-3.3.2-post-mortem.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ However, for code readability and performance reasons, the compiler maintains a
51
51
When it reads the string `"evidence$"`, it reuses the instance of `NameKind` that it uses for that particular string.
52
52
53
53
This leads us to the cause of our bug.
54
-
Between 3.3.1 and 3.3.2, we merged [PR #18280](https://github.com/lampepfl/dotty/pull/18280).
54
+
Between 3.3.1 and 3.3.2, we merged [PR #18280](https://github.com/scala/scala3/pull/18280).
55
55
That PR starts with what appeared to be a *refactoring* commit that renamed some `NameKind`s and their associated strings.
56
56
Unfortunately, that means the 3.3.2 compiler started emitting `UniqueName`s with the string `"contextual$"`.
57
57
When the 3.3.1 compiler reads that structured name, it tries to find the cached instance of `NameKind` that it should use for `"contextual$"`, and does not find any, because it did not use to generate that string.
@@ -63,7 +63,7 @@ In order to fix this in 3.3.3, we reverted to generating `UniqueName("evidence$"
63
63
The root cause is that the compiler assumed that only a fixed set of known strings would ever appear in TASTy `UniqueName`s, despite the fact that the TASTy format says that any string is valid in that position.
64
64
From that root cause, an unfortunate combination of events happened.
65
65
66
-
First, when we reviewed [PR #18280](https://github.com/lampepfl/dotty/pull/18280), taking the TASTy format into account, we assumed that using new strings would be a perfectly compatible change.
66
+
First, when we reviewed [PR #18280](https://github.com/scala/scala3/pull/18280), taking the TASTy format into account, we assumed that using new strings would be a perfectly compatible change.
67
67
We therefore did not mark the PR as "needs-minor-release" as we merged it into the `main` branch for release in 3.4.0.
68
68
69
69
Second, the PR was backported to the 3.3.x LTS branch.
0 commit comments