Skip to content

Releases: scala/scala3

3.2.0-RC4

18 Aug 13:27
Compare
Choose a tag to compare
3.2.0-RC4 Pre-release
Pre-release

Backported fixes

  • Refutable extractor may be an Apply tree #15651
  • Bump compiler-interface and capture the diagnosticCode #15565
  • Support Mirror synthesis for local and inner classes #15847

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges $3.2.0-RC3..3.2.0-RC4 these are:

     2  Chris Kipp
     2  Paweł Marks
     1  Jamie Thompson
     1  odersky

3.2.0-RC3

27 Jul 15:50
Compare
Choose a tag to compare
3.2.0-RC3 Pre-release
Pre-release

Backported fixes

  • Refutable extractor may be an Apply tree #15672
  • Fix coverage instrumentation of Java-defined and parameterless methods #15648
  • Keep fun and args together when instrumenting TypeApply for coverage #15739
  • Fix two problems related to match types as array elements #15625
  • Survive TypeErrors in isMatchedBy #15675
  • deprecate ToString type which should be deprecated at 3.2.0 #15645
  • Fix constraining against HKTypeLambda arguments #15688
  • Fix computation of class nesting level in inliner #15671
  • Don't ignore expected types of New #15679
  • Better infos for dependent class parameter references #15667
  • Always expand inline accessor names #15619
  • Harden erasure of TermRefs #15658

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges $3.2.0-RC2..3.2.0-RC3 these are:

    13  odersky
     5  Guillaume Raffin
     2  Paweł Marks
     2  Tom Grigg
     1  Dale Wijnand
     1  rochala

3.2.0-RC2

07 Jul 13:39
Compare
Choose a tag to compare
3.2.0-RC2 Pre-release
Pre-release

Backported fixes

  • Handle non-specialized functions in EtaReduce #15498
  • Refine Matchtype checking #15423
  • Fix lifting of arguments with -coverage-out #15530
  • Avoid instrumentation of inline and erased definitions #15504
  • Irrefutable for generators don't require withFilter under -source:future #15593

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.2.0-RC1..3.2.0-RC2 these are:

     4  Guillaume Raffin
     4  odersky
     2  Paweł Marks
     1  Nicolas Stucki
     1  Sébastien Doeraene
     1  Tom Grigg

3.2.0-RC1

21 Jun 14:40
Compare
Choose a tag to compare
3.2.0-RC1 Pre-release
Pre-release

Highlights of the release

  • Add runtime.TupleMirror to avoid anonymous classes for mirrors of tuples #15404
  • Fix TupleXXL.productPrefix #15411
  • Synthesize mirrors for small generic tuples #15250
  • Fix #14150: Constrain refinements to type parameters #15014
  • Gradual warning for deprecated nonlocal return #15303
  • Restrict mirrors of any union type #15279
  • Stabilize 3.2 APIs #15197
  • Add error reporting for mirror synthesis #15164
  • Fix #14432: Check if scala 2 case class is accessible #15008
  • Fix #12919: Summon anonymous mirror when companion is a case object #14986
  • Erase Int | Nothing signatures types into Int #14971
  • Allow exports in extension clauses #14497
  • Fix Scala Wart about implicit () class parameters #14840
  • Re-architecture quote pickling #12540
  • Add scala.annotation.MainAnnotation #14558
  • Add in initial support for code coverage #13880
  • Support tuple specialisation #15060
  • Remove support for -scala-output-version flag #15146
  • Make lazy vals and object native image friendly #14780
  • Allow return in tailrec position #14067

Other changes and fixes

Backend

  • Keep annotation order #15063
  • Update asm to 9.3 #14926
  • Fix #14773: Reuse the param slots for the tailrec local mutable vars. #14865
  • Better error messages in case of TooLarge* exceptions in GenBCode #14943

Coverage

  • Fix relativizing paths in coverage serializer #15240

Erasure

  • Handle & and | types when computing tuple arity #15330

Experimentals

  • Fix check experimental inline references #15147

Exports

  • Refine criterion when to skip identifiers in pattern constructors #15367
  • Simplify and harden duplicates checking in exports #14879
  • Fix isAbsType prediction in TreeUnpickler #14861

F-bounds

  • Recursion brake for joins in TypeComparer #14880

GADTs

  • Heal pattern-bound type by gathering constraints #15095
  • Consider GADT upper bounds when upcasting the scrutinee type #15351
  • Extract wildcard GADT constraints more directly #14832

IDE Support

  • Docs: Add a comment to pathTo mentioning that it might return errorTermTree #15420
  • Fix completions to properly contain public fields if they were shadowed #15236
  • Add proper signatureHelp for unapply methods #15203
  • Fix signatureHelp to show enclosing apply instead of closest one. #15119
  • Fix implicit conversion type resolve in completions #15061
  • Fix type alias completion, unify completion tests style #15047
  • Support code completion for refined types #15283
  • Fix SourceFile.column method. #15209

Initialization

  • Check method arguments with parametricity when static #14916
  • Add safe-init test to prevent adding cold elements to hot arrays #14895
  • Allow non-hot values in SeqLiterals #14794

Inline

  • Make private inline accessors final #15324
  • Fix inlining when outer select is needed from inline call prefix #15327
  • Support inline methods calling private inline methods on this #15075
  • Types with only an abstract inline method are not SAMs #14874
  • Don't issue unreachable error messages for inlined code #14871
  • Dealias arg type to detect opaque types #15074
  • Fix dependency status calculation for refined type aliases in method result types #15390

Java Compatibility

  • Java generic signatures can't refer to type members #15093
  • Simplify and correctify calculation of the InnerClass attribute #15153
  • Fix #13523: Survive missing Java inner annotation classfiles #15094

Match Types

  • Implement provablyDisjoint for refined types and type aliases #15375
  • Cache skolem types #14909

Nullability

  • Speed up .nn #15418
  • Fix handling imports in TreeUnpickler #15137
  • Honor language imports when unpickling #14962
  • Remove special eq/ne in unsafeNulls #15186
  • Add eq/ne extension for AnyRef|Null to Scala3RunTime #14632

Parser

  • Fix parser error for type arguments with trailing comma #15395
  • Change fewerbraces to always use a colon, even before lambdas #15273
  • Deprecate 3.1-migration, err on import #14978
  • Treat all incomplete ifs as statements #14960
  • Clarify and test rules for newline suppression #14877
  • Tweak assertion in withMods #14857
  • Fix loop in parser #15421
  • Parse unary operators as regular identifiers when backquoted #15198

Pattern Matching

  • Preserve modifiers when desugaring for-comps #15403
  • Extract unapply types like typedUnApply #15254
  • Force Java enum children to be queried #15109
  • Enable stricter pattern binding warnings by default #14294

Pickling

  • Survive unpickling crashes when completing from Tasty #14884

Quotes

  • Transform RHS of captured assignment reference #15247
  • Properly look for inline methods #15072
  • Fix hash code of ExprImpl and TypeImpl #15281
  • Compute correct argument type in ExprMap #15269
  • Detect quoted pattern variables in alternatives #15073
  • Disallow old uses of quoted and spliced types #15012
  • Fix capturing conditions of HOAS quote patterns #14822

Reflection

  • Add missing cases in SourceCode printer #15032
  • Add reflect AppliedType constructor #14923
  • Add regression test #14924

Reporting

  • Case class must have at least one leading non-implicit parameter list #15382
  • Improve opaque type with no RHS error message #15285
  • Refine condition when to report errors in an inserted apply #15016
  • Accept soft modifiers separated by blank lines #14959
  • Fix warning with leaking this into Scala2 synthetic apply #15307
  • Refine error messages for early promotion #15263
  • ...
Read more

3.1.3

21 Jun 14:40
Compare
Choose a tag to compare

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 and Symbol.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

  • Fix use of exported prefix #14461
  • Export constructor proxies for parameterized classes #14681

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
  • More aggressive reduction of type selection (fixes parboiled2) #14987
  • Relax avoidance checks more for match type reduction #15036
  • Re-establish missing symbol from previous phase (in one specific case) #15295

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 reflect TreeAccumulator #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
  • Fix lack of type avoidance in argument lifting #15229

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:...
Read more

3.1.3-RC5

08 Jun 10:39
Compare
Choose a tag to compare
3.1.3-RC5 Pre-release
Pre-release

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

25 May 08:00
Compare
Choose a tag to compare
3.1.3-RC4 Pre-release
Pre-release

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

12 May 12:40
Compare
Choose a tag to compare
3.1.3-RC3 Pre-release
Pre-release

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

13 Apr 10:39
Compare
Choose a tag to compare
3.1.3-RC2 Pre-release
Pre-release

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 and Symbol.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

  • Fix use of exported prefix #14461
  • Export constructor proxies for parameterized classes #14681

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 reflect TreeAccumulator #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
  • ...
Read more

3.1.3-RC1

13 Apr 10:38
Compare
Choose a tag to compare
3.1.3-RC1 Pre-release
Pre-release

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 and Symbol.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

  • Fix use of exported prefix #14461
  • Export constructor proxies for parameterized classes #14681

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 reflect TreeAccumulator #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...
Read more