Highlights of the release
- Scala 2 forwardport:
-Yprofile-trace
#19897
Other changes and fixes
Annotations
- Fix Java parsing of annotations on qualified types #21867
- Consider all arguments in Annotations.refersToParamOf #22001
Backend
- Flag class file collision as error #19332
Compiler Phases
Experimental: Explicit Nulls
- Improve warning for wildcard matching only null under the explicit nulls flag (scala#21577) #21623
- Fix warning message for matching on redundant nulls #21850
Experimental: Capture Checking
- Fix #21868, #21869, and #21870: handle CapsOf in more places #21875
- Consolidate CC #21863
- Add path support for capture checking #21445
Experimentals
- Replace symbol traversal with tree traversal when finding top level experimentals #21827
Extension Methods
- Nowarn extension matching nonpublic member #21825
Implicits
- Apply implicit conversion from derived Conversion instance defined as implicit rather than given #21785
Imports
- Allow imports nested in packagings to shadow #21539
Inline
- Avoid using the current denotation in NamedType.disambiguate #21414
- Drop phase.isTyper use in isLegalPrefix/asf #21954
- Fix for macro annotation that resolves macro-based implicit crashing the compiler #20353
- Allow macro annotations to recover from suspension #21969
Linting
- Disallow open modifier on objects #21922
- Allow discarding "Discarded non-Unit" warnings with
: Unit
#21927
Opaque Types
- Fix pkg obj prefix of opaque tp ext meth #21527
Parser
- Fix: don't consider
into
as a soft-modifier #21924
Pattern Matching
- Drop inaccessible subclasses from refineUsingParent #21799
- (Re-)Drop inaccessible subclasses from refineUsingParent #21930
- Fix use of class terms in match analysis #21848
- Don't project nested wildcard patterns to nullable #21934
- Fix provablyDisjoint handling enum constants with mixins #21876
- Do not consider uninhabited constructors when performing exhaustive match checking #21750
Presentation Compiler
- Update mtags to 1.4.1 and backport remaining changes #21859
- Backport changes for the presentation compiler from Metals #21756
Pickling
REPL
- Allow top-level opaque type definitions in REPL #21753
Scaladoc
- Fix scaladoc TastyInspector regressions #21716
- Bring back the fix for scaladoc TastyInspector regressions #21929
Standard Library
- Combine cases of
Tuple.Zip
disjoint from(h1 *: t1, h2 *: t2)
#21287
Quotes
Reporting
- Do not warn about expected missing positions in quotes.reflect.Symbol #21677
- Add missing error messages to asserts in QuotesImpl #21852
- Don't point to the compiler backlog when a compiler plugin phase crashes #21887
- Better error message for polytypes wrapping capturing types #21843
- Pretty-print lambdas #21846
Scala.js
- Shade scalajs.ir under dotty.tools #21765
Scaladoc
- Fix scaladoc graph highlight background color in dark mode #21814
SemanticDB
- Extract semanticDB for lifted definitions #21856
Transform
- Fix enclosingClass from returning refinement classes #21411
- Attempt to beta reduce only if parameters and arguments have same shape #21970
- Drop copied parent refinements before generating bytecode #21733
Tooling
- Ensure to escape characters before constructing JSON profile trace #21872
Tuples
- Fix tupleTypeFromSeq for XXL tuples #21782
Typer
- Do not crash when typing a closure with unknown type, since it can occur for erroneous input #21178
- Revert SAM condition to what it was before #21684
- Fix ctx implicits under case unapplySeq #21748
- Avoid erasure/preErasure issues around Any in transformIsInstanceOf #21647
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.6.2..3.6.3-RC1
these are:
30 Dale Wijnand
30 Kacper Korban
27 Wojciech Mazur
14 noti0na1
10 Eugene Flesselle
10 Hamza Remmal
10 HarrisL2
9 Martin Odersky
8 Matt Bovel
7 Jan Chyb
6 Tomasz Godzik
4 Jamie Thompson
2 Friendseeker
2 Pascal Weisenburger
2 Seth Tisue
2 Sébastien Doeraene
1 Adrien Piquerez
1 Alden Torres
1 Alexander
1 Fengyun Liu
1 Georgi Krastev
1 Jentsch
1 Lunfu Zhong
1 Michał Pałka
1 Natsu Kagami
1 dependabot[bot]
1 friendseeker
1 tgodzik