github scala/scala3 3.2.2-RC1

latest releases: 3.6.0-RC1, 3.6.1, 3.5.2...
pre-release2 years ago

Highlights of the release

  • Make truncation by characters in repl configurable #16167
  • New (experimental for now) lazy vals implementation #15296

Other changes and fixes

Coverage

  • Make coverage instrumentation more robust #16235

Default parameters

  • Resolve overloading: keep track of prefix and indices of all default getters #16009

Experimentals

Extension Methods

GADTs

  • Add fixed GADT exhaustivity test cases #16169
  • Eliminate class hierarchy in GadtConstraint #16194

Initialization

  • Code refactoring of initialization checker #16066

Inline

  • Refine checking for outer references #16122

Java interoperability

Opaque Types

  • Disallow opaque type aliases of context functions #16041

Parser

  • Align implementation with spec of soft modifiers #15961

Pattern Matching

  • Fix redundancy (unreachability) warning #16179

Polyfunctions

  • Avoid checking purity of Apply without symbols #16221

Reporting

  • Expose reason for unchecked warning #16086
  • Refine AsSeenFrom approximation scheme #15957
  • Better output under -Ydetailed-stats #15950
  • Fix crash in -Vprofile code #16007
  • Name stripped of module suffix must not be empty #15597
  • Fix InlineMatch pos for summonFrom #16025

Rewrites

Scala-JS

  • Fix the detection of inferred types of = js.native. #16184
  • Do not elide fields required for Scala.js interop semantics. #16187

Scaladoc

  • Update quick links for new ui #15912
  • Avoid parsing code comment twice #16154
  • Make footer text configurable #16064
  • Add typography fallback fonts #16063

SemanticDB

  • Emit SymbolInformation and Occurrence for anonymous class #15865
  • Fix regression in type apply synthetics #16031

Transform

  • Fix creating forwarders for simple alias givens #16193
  • Only check for Scala2LocalSuffix in methods on Scala2x classes #16014
  • Fix mapping TypeMaps over annotations #15948
  • Peephole optimization to drop .apply from partially applied methods #16022

Typer

  • Fix approximateOr of (A & Double) | Null #16241
  • Create boxed environments only for references and function values #16136
  • Fix higher-order unification incorrectly substituting tparams #16181
  • Handle copies of constrained type lambdas when determining an implicit scope #16159
  • Create message for missing arguments #16158
  • Make singleton types subtypes of their refined type #16135
  • Disallow overriding val parameters #16096
  • Avoid crash where creator proxies are referenced indirectly #16098
  • Refine estimation of default arguments in overloading resolution #15962
  • Harden canAssign #15963
  • Fix isSubType for static objects filling in type projections #15959
  • Fix expected type of TupleXXL unapply #16248
  • Drop lazy recursive application in approximateParent #16073
  • Type match with a match type when a match type is expected #15599

Contributors

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

According to git shortlog -sn --no-merges 3.2.1..3.2.2-RC1 these are:

    83  Martin Odersky
    24  Yichen Xu
    23  Quentin Bernet
    18  Michael Pollmeier
    17  Dale Wijnand
     8  Fengyun Liu
     8  Paweł Marks
     7  Guillaume Raffin
     6  Som Snytt
     6  Szymon Rodziewicz
     5  Kacper Korban
     4  Chris Kipp
     3  Matt Bovel
     3  Rikito Taniguchi
     2  Ben Hutchison
     2  Florian3k
     2  Guillaume Martres
     2  Jamie Thompson
     2  João Costa
     2  Julien Richard-Foy
     2  Lukas Rytz
     2  Sébastien Doeraene
     1  Anton Sviridov
     1  Gabriel Volpe
     1  Liang Yan
     1  Noah Rosamilia
     1  Ondra Pelech
     1  Seth Tisue
     1  Tomasz Godzik
     1  Vadim Chelyshov
     1  nmc.borst
     1  nmcb
     1  olsdavis

Don't miss a new scala3 release

NewReleases is sending notifications on new releases.