Skip to content

Commit c7f9073

Browse files
Backport "Sync main with language-reference-stable" to LTS (#20724)
Backports #18718 to the LTS branch. PR submitted by the release tooling. [skip ci]
2 parents 598403f + e7dd7b3 commit c7f9073

File tree

11 files changed

+835
-12
lines changed

11 files changed

+835
-12
lines changed

changelogs/3.3.0-RC1.md

+225
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# Highlights of the release
2+
3+
- Stabilize new lazy vals [#16614](https://github.com/lampepfl/dotty/pull/16614)
4+
- Experimental Macro annotations [#16392](https://github.com/lampepfl/dotty/pull/16392) [#16454](https://github.com/lampepfl/dotty/pull/16454) [#16534](https://github.com/lampepfl/dotty/pull/16534)
5+
- Fix stability check for inline parameters [#15511](https://github.com/lampepfl/dotty/pull/15511)
6+
- Make `fewerBraces` a standard feature [#16297](https://github.com/lampepfl/dotty/pull/16297)
7+
- Add new front-end phase for unused entities and add support for unused imports [#16157](https://github.com/lampepfl/dotty/pull/16157)
8+
- Implement -Wvalue-discard warning [#15975](https://github.com/lampepfl/dotty/pull/15975)
9+
- Introduce boundary/break control abstraction. [#16612](https://github.com/lampepfl/dotty/pull/16612)
10+
11+
# Other changes and fixes
12+
13+
## Annotations
14+
15+
- Support use-site meta-annotations [#16445](https://github.com/lampepfl/dotty/pull/16445)
16+
17+
## Desugaring
18+
19+
- Reuse typed prefix for `applyDynamic` and `applyDynamicNamed` [#16552](https://github.com/lampepfl/dotty/pull/16552)
20+
- Fix object selftype match error [#16441](https://github.com/lampepfl/dotty/pull/16441)
21+
22+
## Erasure
23+
24+
- Dealias before checking for outer references in types [#16525](https://github.com/lampepfl/dotty/pull/16525)
25+
- Fix generic signature for type params bounded by primitive [#16442](https://github.com/lampepfl/dotty/pull/16442)
26+
- Avoid EmptyScope.cloneScope crashing, eg on missing references [#16314](https://github.com/lampepfl/dotty/pull/16314)
27+
28+
## GADTs
29+
30+
- Inline GADT state restoring in TypeComparer [#16564](https://github.com/lampepfl/dotty/pull/16564)
31+
- Add extension/conversion to GADT selection healing [#16638](https://github.com/lampepfl/dotty/pull/16638)
32+
33+
## Incremental compilation
34+
35+
- Unpickle arguments of parent constructors in Templates lazily [#16688](https://github.com/lampepfl/dotty/pull/16688)
36+
37+
## Initialization
38+
39+
- Fix #16438: Supply dummy args for erroneous parent call in init check [#16448](https://github.com/lampepfl/dotty/pull/16448)
40+
41+
## Inline
42+
43+
- Dealias in ConstantValue, for inline if cond [#16652](https://github.com/lampepfl/dotty/pull/16652)
44+
- Set Span for top level annotations generated in PostTyper [#16378](https://github.com/lampepfl/dotty/pull/16378)
45+
- Interpolate any type vars from comparing against SelectionProto [#16348](https://github.com/lampepfl/dotty/pull/16348)
46+
- Handle binding of beta reduced inlined lambdas [#16377](https://github.com/lampepfl/dotty/pull/16377)
47+
- Do not add dummy RHS to abstract inline methods [#16510](https://github.com/lampepfl/dotty/pull/16510)
48+
- Warn on inline given aliases with functions as RHS [#16499](https://github.com/lampepfl/dotty/pull/16499)
49+
- Support inline overrides in value classes [#16523](https://github.com/lampepfl/dotty/pull/16523)
50+
51+
## Java interop
52+
53+
- Represent Java annotations as interfaces so they can be extended, and disallow various misuses of them [#16260](https://github.com/lampepfl/dotty/pull/16260)
54+
55+
## Opaque Types
56+
57+
- Delay opaque alias checking until PostTyper [#16644](https://github.com/lampepfl/dotty/pull/16644)
58+
59+
## Overloading
60+
61+
- Handle context function arguments in overloading resolution [#16511](https://github.com/lampepfl/dotty/pull/16511)
62+
63+
## Parser
64+
65+
- Improve support for Unicode supplementary characters in identifiers and string interpolation (as in Scala 2) [#16278](https://github.com/lampepfl/dotty/pull/16278)
66+
- Require indent after colon at EOL [#16466](https://github.com/lampepfl/dotty/pull/16466)
67+
- Help givens return refined types [#16293](https://github.com/lampepfl/dotty/pull/16293)
68+
69+
## Pattern Matching
70+
71+
- Tweak AvoidMap's derivedSelect [#16563](https://github.com/lampepfl/dotty/pull/16563)
72+
- Space: Use RHS of & when refining subtypes [#16573](https://github.com/lampepfl/dotty/pull/16573)
73+
- Freeze constraints in a condition check of maximiseType [#16526](https://github.com/lampepfl/dotty/pull/16526)
74+
- Restrict syntax of typed patterns [#16150](https://github.com/lampepfl/dotty/pull/16150)
75+
- Test case to show that #16252 works with transparent [#16262](https://github.com/lampepfl/dotty/pull/16262)
76+
- Support inline unapplySeq and with leading given parameters [#16358](https://github.com/lampepfl/dotty/pull/16358)
77+
- Handle sealed prefixes in exh checking [#16621](https://github.com/lampepfl/dotty/pull/16621)
78+
- Detect irrefutable quoted patterns [#16674](https://github.com/lampepfl/dotty/pull/16674)
79+
80+
## Pickling
81+
82+
- Allow case classes with up to 254 parameters [#16501](https://github.com/lampepfl/dotty/pull/16501)
83+
- Correctly unpickle Scala 2 private case classes in traits [#16519](https://github.com/lampepfl/dotty/pull/16519)
84+
85+
## Polyfunctions
86+
87+
- Fix #9996: Crash with function accepting polymorphic function type with singleton result [#16327](https://github.com/lampepfl/dotty/pull/16327)
88+
89+
## Quotes
90+
91+
- Remove contents of inline methods [#16345](https://github.com/lampepfl/dotty/pull/16345)
92+
- Fix errors in explicit type annotations in inline match cases [#16257](https://github.com/lampepfl/dotty/pull/16257)
93+
- Handle macro annotation suspends and crashes [#16509](https://github.com/lampepfl/dotty/pull/16509)
94+
- Fix macro annotations `spliceOwner` [#16513](https://github.com/lampepfl/dotty/pull/16513)
95+
96+
## REPL
97+
98+
- REPL: Fix crash when printing instances of value classes [#16393](https://github.com/lampepfl/dotty/pull/16393)
99+
- Attempt to fix completion crash [#16267](https://github.com/lampepfl/dotty/pull/16267)
100+
- Fix REPL shadowing bug [#16389](https://github.com/lampepfl/dotty/pull/16389)
101+
- Open up for extensibility [#16276](https://github.com/lampepfl/dotty/pull/16276)
102+
- Don't crash if completions throw [#16687](https://github.com/lampepfl/dotty/pull/16687)
103+
104+
## Reflection
105+
106+
- Fix reflect typeMembers to return all members [#15033](https://github.com/lampepfl/dotty/pull/15033)
107+
- Deprecate reflect Flags.Static [#16568](https://github.com/lampepfl/dotty/pull/16568)
108+
109+
## Reporting
110+
111+
- Suppress follow-on errors for erroneous import qualifiers [#16658](https://github.com/lampepfl/dotty/pull/16658)
112+
- Fix order in which errors are reported for assignment to val [#16660](https://github.com/lampepfl/dotty/pull/16660)
113+
- Fix class name in error message [#16635](https://github.com/lampepfl/dotty/pull/16635)
114+
- Make refined type printing more source compatible [#16303](https://github.com/lampepfl/dotty/pull/16303)
115+
- Add error hint on local inline def used in quotes [#16572](https://github.com/lampepfl/dotty/pull/16572)
116+
- Fix Text wrapping [#16277](https://github.com/lampepfl/dotty/pull/16277)
117+
- Fix -Wunused:import registering constructor `<init>` instead of its owner (also fix false positive for enum) [#16661](https://github.com/lampepfl/dotty/pull/16661)
118+
- Fix #16675 : -Wunused false positive on case class generated method, due to flags used to distinguish case accessors. [#16683](https://github.com/lampepfl/dotty/pull/16683)
119+
- Fix #16680 by registering Ident not containing a symbol [#16689](https://github.com/lampepfl/dotty/pull/16689)
120+
- Fix #16682: CheckUnused missed some used symbols [#16690](https://github.com/lampepfl/dotty/pull/16690)
121+
- Fix the non-miniphase tree traverser [#16684](https://github.com/lampepfl/dotty/pull/16684)
122+
123+
## Scala-JS
124+
125+
- Fix #14289: Accept Ident refs to `js.native` in native member rhs. [#16185](https://github.com/lampepfl/dotty/pull/16185)
126+
127+
## Standard Library
128+
129+
- Add `CanEqual` instance for `Map` [#15886](https://github.com/lampepfl/dotty/pull/15886)
130+
- Refine `Tuple.Append` return type [#16140](https://github.com/lampepfl/dotty/pull/16140)
131+
132+
## TASTy format
133+
134+
- Make it a fatal error if erasure cannot resolve a type [#16373](https://github.com/lampepfl/dotty/pull/16373)
135+
136+
## Tooling
137+
138+
- Add -Yimports compiler flag [#16218](https://github.com/lampepfl/dotty/pull/16218)
139+
- Allow BooleanSettings to be set with a colon [#16425](https://github.com/lampepfl/dotty/pull/16425)
140+
141+
## Transform
142+
143+
- Avoid stackoverflow in ExplicitOuter [#16381](https://github.com/lampepfl/dotty/pull/16381)
144+
- Make lazy vals run on non-fallback graal image - remove dynamic reflection [#16346](https://github.com/lampepfl/dotty/pull/16346)
145+
- Patch to avoid crash in #16351 [#16354](https://github.com/lampepfl/dotty/pull/16354)
146+
- Don't treat package object's `<init>` methods as package members [#16667](https://github.com/lampepfl/dotty/pull/16667)
147+
- Space: Refine isSubspace property & an example [#16574](https://github.com/lampepfl/dotty/pull/16574)
148+
149+
## Typer
150+
151+
- Drop requirement that self types are closed [#16648](https://github.com/lampepfl/dotty/pull/16648)
152+
- Disallow constructor params from appearing in parent types for soundness [#16664](https://github.com/lampepfl/dotty/pull/16664)
153+
- Don't search implicit arguments in singleton type prefix [#16490](https://github.com/lampepfl/dotty/pull/16490)
154+
- Don't rely on isProvisional to determine whether atoms computed [#16489](https://github.com/lampepfl/dotty/pull/16489)
155+
- Support signature polymorphic methods (`MethodHandle` and `VarHandle`) [#16225](https://github.com/lampepfl/dotty/pull/16225)
156+
- Prefer parameterless alternatives during ambiguous overload resolution [#16315](https://github.com/lampepfl/dotty/pull/16315)
157+
- Fix calculation to drop transparent classes [#16344](https://github.com/lampepfl/dotty/pull/16344)
158+
- Test case for issue 16311 [#16317](https://github.com/lampepfl/dotty/pull/16317)
159+
- Skip caching provisional OrType atoms [#16295](https://github.com/lampepfl/dotty/pull/16295)
160+
- Avoid cyclic references due to experimental check when inlining [#16195](https://github.com/lampepfl/dotty/pull/16195)
161+
- Track type variable dependencies to guide instantiation decisions [#16042](https://github.com/lampepfl/dotty/pull/16042)
162+
- Two fixes to constraint solving [#16353](https://github.com/lampepfl/dotty/pull/16353)
163+
- Fix regression in cyclic constraint handling [#16514](https://github.com/lampepfl/dotty/pull/16514)
164+
- Sharpen range approximation for applied types with capture set ranges [#16261](https://github.com/lampepfl/dotty/pull/16261)
165+
- Cut the Gordian Knot: Don't widen unions to transparent [#15642](https://github.com/lampepfl/dotty/pull/15642)
166+
- Fix widening logic to keep instantiation within bounds [#16417](https://github.com/lampepfl/dotty/pull/16417)
167+
- Skip ambiguous reference error when symbols are aliases [#16401](https://github.com/lampepfl/dotty/pull/16401)
168+
- Avoid incorrect simplifications when updating bounds in the constraint [#16410](https://github.com/lampepfl/dotty/pull/16410)
169+
- Take `@targetName` into account when resolving extension methods [#16487](https://github.com/lampepfl/dotty/pull/16487)
170+
- Improve ClassTag handling to avoid invalid ClassTag generation and inference failure [#16492](https://github.com/lampepfl/dotty/pull/16492)
171+
- Fix extracting the elemType of a union of arrays [#16569](https://github.com/lampepfl/dotty/pull/16569)
172+
- Make sure annotations are typed in expression contexts [#16699](https://github.com/lampepfl/dotty/pull/16699)
173+
- Throw a type error when using hk-types in unions or intersections [#16712](https://github.com/lampepfl/dotty/pull/16712)
174+
175+
# Contributors
176+
177+
Thank you to all the contributors who made this release possible 🎉
178+
179+
According to `git shortlog -sn --no-merges 3.2.2..3.3.0-RC1` these are:
180+
181+
```
182+
225 Martin Odersky
183+
73 Dale Wijnand
184+
58 Szymon Rodziewicz
185+
54 Nicolas Stucki
186+
48 Kamil Szewczyk
187+
48 Paul Coral
188+
30 Paweł Marks
189+
28 Florian3k
190+
28 Yichen Xu
191+
14 Guillaume Martres
192+
8 Fengyun Liu
193+
8 Michał Pałka
194+
7 Chris Birchall
195+
7 rochala
196+
6 Kacper Korban
197+
6 Sébastien Doeraene
198+
6 jdudrak
199+
5 Seth Tisue
200+
5 Som Snytt
201+
5 nizhikov
202+
4 Filip Zybała
203+
4 Jan Chyb
204+
4 Michael Pollmeier
205+
4 Natsu Kagami
206+
3 Jamie Thompson
207+
2 Alex
208+
2 Anatolii Kmetiuk
209+
2 Dmitrii Naumenko
210+
2 Lukas Rytz
211+
2 adampauls
212+
2 yoshinorin
213+
1 Alexander Slesarenko
214+
1 Chris Kipp
215+
1 Guillaume Raffin
216+
1 Jakub Kozłowski
217+
1 Jan-Pieter van den Heuvel
218+
1 Julien Richard-Foy
219+
1 Kenji Yoshida
220+
1 Philippus
221+
1 Szymon R
222+
1 Tim Spence
223+
1 s.bazarsadaev
224+
225+
```

0 commit comments

Comments
 (0)