Improvements
- Remove differences in diagnostic printing in the REPL #13266
- Make trace typed, to avoid needless casting #13464
- Change
TastyFormat
forREFINEDtype
to conform to existing.tasty
files #13507 - Emit deferred reachability warnings & fix boxing/unboxing adapting #13485
- Include scope completions for synthic select tree #13515
- Setup snippet compiler for scala.quoted and fix snippets #13521
- Scaladoc: UI/UX Changes #13566
- Make members of the empty package invisible from inside other packages #13593
- Prioritize ambiguous errors in extension method search #13588
- Better nested lists rendering in scaladoc #13643
- Clarify implicit scope of opaque type aliases #13666
- Allow using clauses to introduce Scala-2 conversions #13662
- Remove plugin related settings from common scala settings #13711
- Remove
RenameLifted
phase #13717 - Move part of settings to
CommonScalaSettings
#13712 - Add
init
andlast
methods toNonEmptyTuple
#13735 - Allow dual Scala 2/3 macros in non-experimental scopes #13795
- Refine check for caching companion in sum mirror #14035
Bug fixes
- Do not bind inline parameters when lifting args #13429
- Fix #13440: Avoid capturing var in message closure #13441
- Scaladoc: Fix printing refined self-types in snippet-compiler #13436
- Set correct source for generated TypeTrees #13465
- Fix reachability of non-reducing match type children #13251
- Use correct context when creating inline trace #13492
- Fix #13497: Exception occurred while typechecking summon in nested
flatMap
#13499 - Unwiden scrutinee types, fixing match analysis #13409
- Don't count constructors in allMembers #13505
- Fix crash on uninstantiated field access #13517
- Fix #13320: add
.type
to modules in messages #13374 - Fix #13518: Scala.js: fix primitive + string when the string is a
TermRef
. #13537 - Fix running repl #13535
- Fix specifity comparison for extensions in polymorphic givens #13509
- Capture missing class when loading methods #13525
- Fix snippets in
scala.compiletime
and fix snippet compiler reporting line numbers in specific cases #13528 - Fix Java generic signatures for aliases #13574
- Fix suggested stub implementation code #13529
- Remove anomalies and gaps in handling annotations #13348
- Do not remove accessors to early #13484
- Fix #10349: Match type on
Map
crashes the compiler #13581 - Fix wrong external mappings in
Build.scala
#13582 - Add type modes to
DottyTypeStealer
#13576 - Fix #12962: Fail
verifyScalacArgs
ifdist/target/pack/bin/scalac
not found #13029 - Fix #13455: Also consider sealed classes closed sums #13483
- Fix #13197: Deskolemize lifted named arguments #13590
- Fix missing
SymbolOccurrence
for aliased symbol #13609 - Fix #13487: Unification check in deriving is incorrect #13489
- Fix #13552: Insert compiler libraries head of user-specified classpath #13562
- repl: Handle user-defined
res
definitions #13600 - Fix #13491: 3.0.2 typing incompatible with 3.0.1 #13585
- Ignore
StaleSymbol
exceptions when testing whether dependencies should be ignored #13594 ExtractDependencies
: more robust cycle check #13583- Check that right hand sides of implicit defs don't loop (directly) #13589
- Fix #13495: Break completion cycles #13596
- Fix #10886: Show full evaluation of match types in interactive #13597
- Fix #13469: Type Function Alias behaves differently from the inlined version of the type alias #13598
- Fix variable handling in super calls #13639
- Avoid crash in parser when tree has no position #13640
- Fix #12944: Match type failure to reduce with separate compilation #13636
- Fix 13618: Undo windows wildcard classpath globbing #13619
- Don't reduce inline matches, when a guard cannot be checked at compile time #13601
- Eliminate
newNakedSymbol
methods #13641 - Fix #13418: support
AppliedType
inouterTestNeeded
#13420 - Fix erasure of curried polymorphic function types #13664
- Fix # 13670: Relax requirements for recognizing valid scala hashbang lines #13671
- Make
distinctRefs
inImportSuggestions
use constant stackspace #13667 - Remember compared polytypes #13663
- Fix ordering propagation during parameter unification in constraint solver #13031
- Don't lose paramSyms when unpickling from Scala 2 #13665
- Skipping inlined tree reduction of type member selection #13578
- Fix #12656 by setting the proper reporter for inlined methods #13543
- Inliner: don't confuse method parameters and nested lambda parameters #13658
- Strip Nulls from Java members when
unsafeNulls
is enabled #13337 - Handle inline super prefix bindings #13649
- Fix parents of tuple classes #13659
- Fix broken lookups #13697
- Fix overriding in explicit nulls #13647
- Normalize prototype before decomposing as a function #13651
- Do not perform completion on higher kinded trees #13700
- Fix encoding of setters on anonymous classes with structural types #13707
- Scaladoc: Fix bugs found while setting up cats #13705
- Search for type tests when matching abstract applied type #13453
- Avoid cycle with top-level export and trait #13719
- Handle Java varargs
T...
whereT
is a class parameter #13718 - Fix top level index #13710
- Set the correct owner when quote making inlinable #13547
- Fix error message when "import given" is missing #13731
- Can mark
var
implementation as override #13744 - under
-source:future
, don't warn on infix usage of Scala 2 defined methods with default arguments #13714 - Add missing position to closure tree #13733
- Collective extensions is sensitive to EOF #13432
- Fix init soundness #13472
- Fix F-Bounded types signatures #13753
- Fix #13758: Provide
scala.home
setting for scripts #13759 - Scaladoc: generate valid api doc if class name contains / or \ #13827
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.1.0..3.1.1
these are:
50 Fengyun Liu
43 Martin Odersky
26 Olivier Blanvillain
24 Kacper Korban
21 Filip Zybała
18 Dale Wijnand
18 Nicolas Stucki
17 Phil
13 Andrzej Ratajczak
10 Guillaume Martres
10 noti0na1
8 Paweł Marks
7 Jamie Thompson
5 soronpo
5 Tom Grigg
3 Yichen Xu
3 Dmitrii Naumenko
3 ghostbuster91
3 Julien Richard-Foy
2 Stéphane Micheloud
2 bjornregnell
2 Vadim Chelyshov
1 ysthakur
1 Daniel Esik
1 EnzeXing
1 Jasper Moeys
1 Katja Goltsova
1 Matthieu Bovel
1 Ondrej Lhotak
1 Oron Port
1 Rikito Taniguchi
1 Seth Tisue
1 Som Snytt
1 Sébastien Doeraene
1 Tomasz Godzik
1 oronpo
Reporting Bugs
If you encounter a bug, please open an issue! 🙏