Releases: scala/scala3
3.1.3-RC5
Notable changes
- Avoid NPE in simplify #15310
- Eta expand export forwarders that have context function types #15217
- Fix #15220: Windows scripts do not delegate to MainGenericRunner #15325
- Re-establish missing symbol from previous phase (in one specific case) #15295
- Partially revert #14026 - Fixes 4 regressions #15343
Contributors
Thank you to all the contributors who made this release possible π
According to git shortlog -sn --no-merges 3.1.3-RC4..3.1.3-RC5
these are:
7 odersky
2 PaweΕ Marks
1 StΓ©phane Micheloud
1 Tom Grigg
3.1.3-RC4
Notable changes
- Fix lack of type avoidance in argument lifting #15229
- Avoid overeager completion of Java annotations in classfile parser #15185
- Implement scalac script in Scala #15212
Contributors
Thank you to all the contributors who made this release possible π
According to git shortlog -sn --no-merges 3.1.3-RC3..3.1.3-RC4
these are:
2 PaweΕ Marks
1 Guillaume Martres
1 Jamie Thompson
1 Tom Grigg
3.1.3-RC3
Notable changes
- More aggressive reduction of type selection (fixes parboiled2) #14987
- Relax avoidance checks more for match type reduction #15036
Contributors
Thank you to all the contributors who made this release possible π
According to git shortlog -sn --no-merges 3.1.3-RC2..3.1.3-RC3
these are:
2 Guillaume Martres
2 PaweΕ Marks
3.1.3-RC2
This release is in all practical sense identical to the first release candidate. We decided to re-release because there were some problems with artifact propagation to the maven due to sonatype incident. This changelog is copied for the RC1.
Highlights of the release
- f-interpolator: Scala 2 parity and bugfixes #13367
- Show inlined positions with source code on errors #14002
- Add reflect
ClassDef.apply
andSymbol.newClass
#14124 - Add experimental
TupledFunction
#14414
Other changes and fixes
Backend
- Filter out static forwarders for Java package private methods #14662
- Emit all classes as public to avoid object deserialization issues #14686
- Upgrade to ASM 9.2 #14711
Desugaring
- Adapt function arguments to n-ary prototype #14651
Erasure
- Don't optimize explicitly written isInstanceOf tests away. #14715
Exports
GADT
- Fix #14726: call exclusiveLower before addLess during unification #14727
- Avoid unsound GADT constraints derived from subtyping relations between singletons and refined types #14728
- Keep correct kind when preparing constraint in
stripParams
#14761
Initialization
- Add special case to init checker to always allow certain methods #14352
Implicits
- Avoid unnecessary under-constrained implicit searches #14353
- Prevent implicit conversion chaining #14750
- Fix hasKnownMembers #14762
Match types
- Fix #13855: Chaining Match Types fails at value level #14354
- Constrain pattern types when typing a match type case #14563
- Fix bounds of match type cases #14645
Metaprogramming
- Allow nested Quotes with a different owners #13652
- Add typed versions of
Mirror.ProductOf#fromProduct
#14114 - Fix #14393: foldOver in default TreeAccumulator can't process Typed nodes #14396
- Fix invariant quote type holes #14425
- Make singleton operations covariant #14452
- Find inline calls inserted in synthetic members #14480
- Don't generate
Mirror.Sum
for simple enum cases #14525 - Collect all local class definitions #14528
- Only make the staged parts of a quote inlineable #14604
- Tolerate some faults when copying trees in
InlineTreeMap
#14674 - Handle this prefix in objects (in quote patterns) #14732
- Detect when position is not in known source #14801
- Handle
SummonFrom
in reflectTreeAccumulator
#14809
-Handle situation where an inline info cannot be computed #14827
Opaque Types
- Disallow overriding opaque type aliases #14665
- Disallow private opaque type aliases #14666
- Generate opaque proxies also for base classes #14668
Parser
- Accept supplementary Unicode characters #13136
- Don't compute indents when in a string #14441
- Parse empty arguments in (invalid)
Apply
more often #14463 - Expand span errorTermTree to include skipped span. #14492
- Fix lookahead logic in Scanner #14562
- Add private inteface methods parsing in JavaParser #14643
- Reject postfix ops already in Parser #14677
- Syntax error recovery #14695
Pattern matching
- For generic tuples, call
Tuples.apply
instead of_1/_2/..
#14296 - Preserve the intersection of disjoint numbers in match analysis #14550
- Fix casting of generic tuple selection #14590
- Ignore private/sealed abstract class/traits #14599
- Drop special treatment for Scala-2 code in unapply #14766
Pickling
- Disable type simplify in unpickler #14506
- Check if package names will be encoded in desugar #14597
- Fix picking default syntax for comments #14725
Refchecks
- Don't skip override tests when overridden is
AbsOverride
#14527 - Extend "cannot override mutable variable" restriction to deferred var⦠#14724
Repl
- Avoid stale import context during REPL parsing #14493
- Fix #11202: Incorrect highlight for type constructor #14518
- Make empty catch an incomplete. #14519
- Add in feedback when resetting REPL state #14521
- Fix #14535: End marker now has the same color as its definition in repl #14555
- Add backticks when needed in completions #14594
- Autocomplete repl commands #14627
- Harden REPL in presence of values that fail to initialize #14702
Reporting
- Change error message text from "fully-initialized" to "fully initialized" #14400
- Improve -explain rendering #14357
- Propagate unreported features when flushing a reporter #14503
- Avoid using
Β·
character #14453 - Fix explain rendering with Windows EOL #14456
- Fix #14576: Ensure unreported warning summaries are also emitted via sbt-bridge #14602
- Add context to safe-init warnings for inlined methods #14646
- Show unique ids of pattern bound symbols #14716
- Don't replace typevars by their f-bounds in error messages #14723
- Error message improvement for illegal access extension methods #14730
- Warn on misleading indentation in single-case catch #14738
- Use correct ErrorMessageID for EmptyCatchOrFinallyBlock #14786
- Correct highlight interpolation in explain message #14802
Don't issue implicit errors if parameter has default value #14849
Typer
- Fix approximating RefinedTypes (n>1) #14361
- Allow override
protected[C]
in companion #14105 - Hide
apply
generated for rotected case class constructor #14266 - Infer parameters of eta applications with vararg parameters #14397
- Keep softness when widening unions #14399
- Fix #11008: Support generic tuples as a valid unapply result #14434
- Fix
TreeTypeMap
to correctly substitute type parameters #14537 - ...
3.1.3-RC1
Highlights of the release
- f-interpolator: Scala 2 parity and bugfixes #13367
- Show inlined positions with source code on errors #14002
- Add reflect
ClassDef.apply
andSymbol.newClass
#14124 - Add experimental
TupledFunction
#14414
Other changes and fixes
Backend
- Filter out static forwarders for Java package private methods #14662
- Emit all classes as public to avoid object deserialization issues #14686
- Upgrade to ASM 9.2 #14711
Desugaring
- Adapt function arguments to n-ary prototype #14651
Erasure
- Don't optimize explicitly written isInstanceOf tests away. #14715
Exports
GADT
- Fix #14726: call exclusiveLower before addLess during unification #14727
- Avoid unsound GADT constraints derived from subtyping relations between singletons and refined types #14728
- Keep correct kind when preparing constraint in
stripParams
#14761
Initialization
- Add special case to init checker to always allow certain methods #14352
Implicits
- Avoid unnecessary under-constrained implicit searches #14353
- Prevent implicit conversion chaining #14750
- Fix hasKnownMembers #14762
Match types
- Fix #13855: Chaining Match Types fails at value level #14354
- Constrain pattern types when typing a match type case #14563
- Fix bounds of match type cases #14645
Metaprogramming
- Allow nested Quotes with a different owners #13652
- Add typed versions of
Mirror.ProductOf#fromProduct
#14114 - Fix #14393: foldOver in default TreeAccumulator can't process Typed nodes #14396
- Fix invariant quote type holes #14425
- Make singleton operations covariant #14452
- Find inline calls inserted in synthetic members #14480
- Don't generate
Mirror.Sum
for simple enum cases #14525 - Collect all local class definitions #14528
- Only make the staged parts of a quote inlineable #14604
- Tolerate some faults when copying trees in
InlineTreeMap
#14674 - Handle this prefix in objects (in quote patterns) #14732
- Detect when position is not in known source #14801
- Handle
SummonFrom
in reflectTreeAccumulator
#14809
-Handle situation where an inline info cannot be computed #14827
Opaque Types
- Disallow overriding opaque type aliases #14665
- Disallow private opaque type aliases #14666
- Generate opaque proxies also for base classes #14668
Parser
- Accept supplementary Unicode characters #13136
- Don't compute indents when in a string #14441
- Parse empty arguments in (invalid)
Apply
more often #14463 - Expand span errorTermTree to include skipped span. #14492
- Fix lookahead logic in Scanner #14562
- Add private inteface methods parsing in JavaParser #14643
- Reject postfix ops already in Parser #14677
- Syntax error recovery #14695
Pattern matching
- For generic tuples, call
Tuples.apply
instead of_1/_2/..
#14296 - Preserve the intersection of disjoint numbers in match analysis #14550
- Fix casting of generic tuple selection #14590
- Ignore private/sealed abstract class/traits #14599
- Drop special treatment for Scala-2 code in unapply #14766
Pickling
- Disable type simplify in unpickler #14506
- Check if package names will be encoded in desugar #14597
- Fix picking default syntax for comments #14725
Refchecks
- Don't skip override tests when overridden is
AbsOverride
#14527 - Extend "cannot override mutable variable" restriction to deferred var⦠#14724
Repl
- Avoid stale import context during REPL parsing #14493
- Fix #11202: Incorrect highlight for type constructor #14518
- Make empty catch an incomplete. #14519
- Add in feedback when resetting REPL state #14521
- Fix #14535: End marker now has the same color as its definition in repl #14555
- Add backticks when needed in completions #14594
- Autocomplete repl commands #14627
- Harden REPL in presence of values that fail to initialize #14702
Reporting
- Change error message text from "fully-initialized" to "fully initialized" #14400
- Improve -explain rendering #14357
- Propagate unreported features when flushing a reporter #14503
- Avoid using
Β·
character #14453 - Fix explain rendering with Windows EOL #14456
- Fix #14576: Ensure unreported warning summaries are also emitted via sbt-bridge #14602
- Add context to safe-init warnings for inlined methods #14646
- Show unique ids of pattern bound symbols #14716
- Don't replace typevars by their f-bounds in error messages #14723
- Error message improvement for illegal access extension methods #14730
- Warn on misleading indentation in single-case catch #14738
- Use correct ErrorMessageID for EmptyCatchOrFinallyBlock #14786
- Correct highlight interpolation in explain message #14802
Don't issue implicit errors if parameter has default value #14849
Typer
- Fix approximating RefinedTypes (n>1) #14361
- Allow override
protected[C]
in companion #14105 - Hide
apply
generated for rotected case class constructor #14266 - Infer parameters of eta applications with vararg parameters #14397
- Keep softness when widening unions #14399
- Fix #11008: Support generic tuples as a valid unapply result #14434
- Fix
TreeTypeMap
to correctly substitute type parameters #14537 - Handle ownership changes in
InlineTyper
#14568 - Handle more corner cases in
etaReduce
#14628 - Remove false unchecked warnings on refined type...
3.1.2
Forward compatibility improvements
- Enable generation of TASTy files readable for older compilers #14156
General improvements
- Add eval (-e) expression evaluation to command line #14263
- Format compiler crash stack traces #14269
- Improve typer traces #14270
- Add -Xmacro-settings option and API #14234
- Add reflect TypeRepr.substituteTypes #13166
- Expand compiletime.ops #13400
- Cache isSubspace for a 3000% speedup #13637
- lint trivially self-recursive extension methods #13709
- add
printTypesAndErasure
test main method to compare typer and erasure #13745 - Warning for infinite recursive lazy vals #13749
- Provide scala.home setting for scripts #13759
- Improve message when -Xmax-inlines limit reached #13783
- Add append operator to Tuple #13786
- Allow passing any JMH option to scala3-bench #13787
- Warn on lossy conversion of literals & constants #13792
- Consider minTargetVersion as always supported #13811
- Add -Xmacro-check for Block constructors #13824
- Navigate the AST within AnnotatedType and ImportType #13834
- Refine handling of CanThrow capabilities #13866
- Indicate name of classfile where leaky mapping of existential type happens #13879
- Refine treatment of TypeBounds in patterns #13881
- Impose implicit search limit #13886
- Better handling of multiple exceptions for saferExceptions #13914
- Complete when importing same symbol multiple times #13972
- Implement :settings in the REPL #13982
- Fixes and improvements to trace logging #13984
- Fail compilation of attempting a 0-arity product extraction #14029
- Traverse the types to find experimental references #14047
- Retain HasDefaultParams flag on export. #14051
- Also consider private symbols in implicit scope of type #14054
- Allow return in tailrec position #14067
- Make outer references Java-synthetic #14084
- Add Reflect
TypeRepr.typeArgs
#14088 - Reject empty target names #14090
- Use =>> instead of => for printing a LambdaTypeTree #14107
- REPL: Add compiler options to :reset #14139
- Add hint on -Xcheck-macro scope extrusion failure #14203
- Support quoted PolyFunction #14222
- Update wording of uninitialized value error to be grammatically correct #14292
- Rename
-Yscala-release
,-release
and-Xtarget
settings to make them more consistent #14606
Scaladoc
- Fix missing known subtypes #13794
- Markdown preprocessor #13140
- Add source position for errors from doc-root-content file #13908
- Fix double implicit modifier #13909
- Fix links to unexisting types sites #13917
- Add support for tables in wiki syntax #13933
- Improve features parity with old scaladoc/docs.scala-lang #13954
- Add missing styles to snippets that are not Scala #13959
- Fix filtering extensions. Better support for exports #14125
SemanticDB
Bug fixes
- Fix #13855: Chaining Match Types fails at value level #14354
- Fix #12260: Add underscore to match type syntax #12261
- Fix #11861 - hash nested calls to inline definitions #12931
- Avoid shadowing of name 'name' #13442
- Fix #13633: Can't reduce match types inside a type alias #13635
- Fix erased context function types #13736
- Widen qualifier skolems #13748
- Change order of proxy evaluation when inlining #13755
- Fix init checker on secondary constructor parameter access #13776
- Add missing @experimental in Tuples #13778
- Fix improper usage of constrained breaking type inference #13779
- Fix error message when deriving an obstract type #13812
- Handles Nothing when synthesizing CanEqual #13828
- Fix #13026: No longer print VBAR and padding in the middle of the message #13829
- Solves dotc assertion error on (non-sensical?) parameter type. #13769 #13830
- Fix missing code-completion on standalone annotations #13831
- Fix comparing
AnyVal | Null
toNull
and selecting inUnsafeNulls
#13837 - Fix error summary printed twice #13843
- Detect opaque aliases in inline val types #13857
- Fix
@experimental @main
methods #13858 - Fix #13860: Ignore bridges when looking for a default getter's attached method. #13870
- Add missing position when expanding error #13872
- Try to instantiate type variables in tryInsertImplicitOnQualifier #13884
- Fix crasher for missing integer argument on command line #13894
- Fix messages leaking via suspended messages #13911
- Don't lift try-catch statements that are already in local functions #13944
- Initialize quote cache on tasty inspector run #13953
- Tighten product match logic in irrefutable check #13962
- Fix Mirror.Product for type lambdas #14003
- Sound type avoidance (hopefully!) #14026
- Fix REPL clashing with CWD artefacts #14021
- Don't retypecheck erroneous arguments when fixing function #14043
- Fix #13994: initialise inline ctx in lateEnter #14050
- Inline inlined private methods before checking accessibility #14049
- Handle hoisted super arguments correctly in
elimByName
#14057 - Check variance of RHS of opaque type #14058
- Don't insert INDENT/UNINDENT without anything in between #14066
- Don't generate illegal types when clarifying implicit errors #14068
- Allow import
<ident>
to show completions #14069 - Bypass eligible caches for impl...
3.1.2-RC3
3.1.2-RC2
Notable Changes
- Set context when reporting summonInline errors #14405
- Fix #14541: Problem running
@main
methods with command line arguments #14543 - Check defined in src for cache in companion #14557
- Rename
-Yscala-release
,-release
and-Xtarget
settings to make them more consistent #14606
Contributors
Thank you to all the contributors who made this release possible π
According to git shortlog -sn --no-merges 3.1.2-RC1..3.1.2-RC2
these are:
1 Jamie Thompson
1 MichaΕ PaΕka
1 Nicolas Stucki
1 PaweΕ Marks
1 Som Snytt
1 Andrzej Ressel
3.1.2-RC1
Forward compatibility improvements
- Enable generation of TASTy files readable for older compilers #14156
General improvements
- Add eval (-e) expression evaluation to command line #14263
- Format compiler crash stack traces #14269
- Improve typer traces #14270
- Add -Xmacro-settings option and API #14234
- Add reflect TypeRepr.substituteTypes #13166
- Expand compiletime.ops #13400
- Cache isSubspace for a 3000% speedup #13637
- lint trivially self-recursive extension methods #13709
- add
printTypesAndErasure
test main method to compare typer and erasure #13745 - Warning for infinite recursive lazy vals #13749
- Provide scala.home setting for scripts #13759
- Improve message when -Xmax-inlines limit reached #13783
- Add append operator to Tuple #13786
- Allow passing any JMH option to scala3-bench #13787
- Warn on lossy conversion of literals & constants #13792
- Consider minTargetVersion as always supported #13811
- Add -Xmacro-check for Block constructors #13824
- Navigate the AST within AnnotatedType and ImportType #13834
- Refine handling of CanThrow capabilities #13866
- Indicate name of classfile where leaky mapping of existential type happens #13879
- Refine treatment of TypeBounds in patterns #13881
- Impose implicit search limit #13886
- Better handling of multiple exceptions for saferExceptions #13914
- Complete when importing same symbol multiple times #13972
- Implement :settings in the REPL #13982
- Fixes and improvements to trace logging #13984
- Fail compilation of attempting a 0-arity product extraction #14029
- Traverse the types to find experimental references #14047
- Retain HasDefaultParams flag on export. #14051
- Also consider private symbols in implicit scope of type #14054
- Allow return in tailrec position #14067
- Make outer references Java-synthetic #14084
- Add Reflect
TypeRepr.typeArgs
#14088 - Reject empty target names #14090
- Use =>> instead of => for printing a LambdaTypeTree #14107
- REPL: Add compiler options to :reset #14139
- Add hint on -Xcheck-macro scope extrusion failure #14203
- Support quoted PolyFunction #14222
- Update wording of uninitialized value error to be grammatically correct #14292
Scaladoc
- Fix missing known subtypes #13794
- Markdown preprocessor #13140
- Add source position for errors from doc-root-content file #13908
- Fix double implicit modifier #13909
- Fix links to unexisting types sites #13917
- Add support for tables in wiki syntax #13933
- Improve features parity with old scaladoc/docs.scala-lang #13954
- Add missing styles to snippets that are not Scala #13959
- Fix filtering extensions. Better support for exports #14125
SemanticDB
Bug fixes
- Fix #13855: Chaining Match Types fails at value level #14354
- Fix #12260: Add underscore to match type syntax #12261
- Fix #11861 - hash nested calls to inline definitions #12931
- Avoid shadowing of name 'name' #13442
- Fix #13633: Can't reduce match types inside a type alias #13635
- Fix erased context function types #13736
- Widen qualifier skolems #13748
- Change order of proxy evaluation when inlining #13755
- Fix init checker on secondary constructor parameter access #13776
- Add missing @experimental in Tuples #13778
- Fix improper usage of constrained breaking type inference #13779
- Fix error message when deriving an obstract type #13812
- Handles Nothing when synthesizing CanEqual #13828
- Fix #13026: No longer print VBAR and padding in the middle of the message #13829
- Solves dotc assertion error on (non-sensical?) parameter type. #13769 #13830
- Fix missing code-completion on standalone annotations #13831
- Fix comparing
AnyVal | Null
toNull
and selecting inUnsafeNulls
#13837 - Fix error summary printed twice #13843
- Detect opaque aliases in inline val types #13857
- Fix
@experimental @main
methods #13858 - Fix #13860: Ignore bridges when looking for a default getter's attached method. #13870
- Add missing position when expanding error #13872
- Try to instantiate type variables in tryInsertImplicitOnQualifier #13884
- Fix crasher for missing integer argument on command line #13894
- Fix messages leaking via suspended messages #13911
- Don't lift try-catch statements that are already in local functions #13944
- Initialize quote cache on tasty inspector run #13953
- Tighten product match logic in irrefutable check #13962
- Fix Mirror.Product for type lambdas #14003
- Sound type avoidance (hopefully!) #14026
- Fix REPL clashing with CWD artefacts #14021
- Don't retypecheck erroneous arguments when fixing function #14043
- Fix #13994: initialise inline ctx in lateEnter #14050
- Inline inlined private methods before checking accessibility #14049
- Handle hoisted super arguments correctly in
elimByName
#14057 - Check variance of RHS of opaque type #14058
- Don't insert INDENT/UNINDENT without anything in between #14066
- Don't generate illegal types when clarifying implicit errors #14068
- Allow import
<ident>
to show completions #14069 - Bypass eligible caches for implicit search under GADT constraints #14072
- Fix passing jvm options [#14073](https://github.com/lamp...
3.1.1
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](ht...