- Notifications
You must be signed in to change notification settings - Fork1.1k
3.2.1
Highlights of the release
Other changes and fixes
Backend
- Set ACC_FINAL access flag to final variable accessors#15707
Coverage
- Avoid instrumentation of inline and erased definitions#15504
Erasure
Extension Methods
- Merge nested polytypes in more cases in resolveOverloaded#15636
GADTs
- Fix GADT casting when typing if expressions#15646
- Use GADT constraints in maximiseType#15544
- Add the expected type to Poly's desugaring#15570
- Allow refineUsingParent to infer GADT bounds#15706
- Avoid leaking internal types in GadtConstraint.approximation#15558
- Improve GADT usage tracing for MatchType reduction#15872
- Add
gadtAddBoundto ExplainingTypeComparer tracing#15819 - Avoid adding
NoSymbolto gadt constraints inTypeOps.instantiateToSubType#15965
IDE Support
Initialization
- Fix#15465: Use resolveThis for outerSelect resolution#15606
- Fix#15459: Display uninitialized fields in promotion error#15488
- Fix#15363: Improve error messages for leaking of this#15364
- Make sure inner classes are checked first#15527
- Handle super accessors in initialization checker#15703
Inline
- Check is inline unapply has leading implicits#15583
- Fix#15374: Make sure prefix of outer select has the correct class symbol#15592
Java Interoperability
- Don't check import selectors for Java code#15617
JS Interoperability
- Fix#15701: Implement js.dynamicImport for dynamic module loading.#15720
- Implement support for js.
new.target.#15734 - Fix#14488: Scala.js: Add compiler support for scala.Enumeration.#15770
Match Types
- Avoid null types when reducing match types#15748
- Avoid references to unbound parameters in applied type patterns#15710
Nullability
- Fix checking ctx to carry correct modes#15350
Pattern Matching
- Teach provablyDisjoint to handle FromJavaObject#15769
- Don't trust case class extractors with explicit type arguments#15669
- Space: Fix how sealed abstract classes decompose#15553
- Local classes are uncheckable (type tests)#15134
- Fix ValDef span assignment in PatternMatcher#15783
- Reject all explicitly written type references with bad bounds#15577
Pickling
- Make simplify replace type parameters inside method types#15430
Quotes
- Ignore types in macro runtime dependencies#15529
REPL
- ReplDriver.run and :load take complete input#15811
- REPL goes through a phase#15663
- Avoid assertion failure for illegal trait inheritance#15631
Reporting
- Underline assignment correctly in error message#15584
- Better error message for "implicit search must be more specific"#15747
- Provide better info on compiler crashes#15890
SemanticDB
- Handle colons in file names when producing SemanticDB#15863
Standard Library
- Fix
throwReturnofNonLocalReturnsto allow wider usage#15495 - Update Scala 2 library dependency to 2.13.10#16074
Tooling
- Fix scala runner exit codes#15604
- Command line parser respects outer escaped quote#15497
- Added quotes to Scala home paths in scala and scalac scripts#15824
- Retain partial type params typying information on error#15825
Transform
- Implementation restriction: No partial functions with CFT results#15744
- Fix treatment of parameter selections via this in constructors.#15737
- Fix expansion and unexpansion of mixin qualified names#15712
- Fix#15514 in Parser#15524
- Check type arguments for bad bounds#15571
Typer
- Fix swapKey#15894
- Insert GADT casts for needy match types#15851
- Add missing dealias in isContextFunctionRef#15742
- Look for synthetic applies also under type applications#15572
- Optimize isSameType for invariant applied types with the same structure#15556
- Fix cycle detection for type aliases with wildcard arguments#15508
- Handle recursions in isFullyDefined#15443
- Do level checking on instantiation#15746
- Use fullyDefinedType for mirror synthesis#15814
- Instantiate more type variables to hard unions#15632
- Simplify level fixing scheme#15936
- Don't normalize in
AppliedType#superType#15453 - Try promotion while widening arguments#15467
- Check import selectors at Typer#15477
- Turn some calls to
underlyingintosuperType.#15455 - Find more looping implicits#15481
- Fix
findFunctionTypeforOrTypes#15478 - Fix looping implicits check#15655
- Try to avoid static symbols if leaving them would make a leak#15548
- Do not fold
IsConstapplied to dependent parameters#15759 - Only look for synthetic applies under
TypeApplywith inferred arguments#15970 - Improvements for implicit searches with top-level type variables#16001
- Better types for class type parameters#15951
- Fix tuple casting#16113
- Be even more careful when combining argument and info in
computeAsSeenFrom#16070 - Be still more careful when computing denotations of class parameters#16112
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.2.0..3.2.1 these are:
215 Martin Odersky 94 Filip Łukasik 69 Fengyun Liu 57 Filip Zybała 31 Dale Wijnand 16 Paweł Marks 14 Sébastien Doeraene 10 Guillaume Raffin 9 rochala 8 Chris Kipp 8 Som Snytt 7 Jędrzej Rochala 7 Nicolas Stucki 7 Yichen Xu 6 Jamie Thompson 6 Tom Grigg 5 Kacper Korban 5 noti0na1 2 Arman Bilge 2 Matt Bovel 2 Ondrej Lhotak 2 Quentin Bernet 2 Seth Tisue 2 Tomasz Godzik 1 Adrien Piquerez 1 Florian3k 1 Gagandeep Kalra 1 Jentsch 1 Kieren Davies 1 Michał Pałka 1 Naveen 1 Oron Port 1 Rubin Simons 1 Wojciech Mazur 1 esteban marin 1 naveenAssets5
Uh oh!
There was an error while loading.Please reload this page.
9 people reacted