github scala/scala3 3.2.2

latest releases: 3.6.0-RC1, 3.6.1, 3.5.2...
21 months 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

  • Parse native in Java bytecode as @native #16232

Opaque Types

  • Disallow opaque type aliases of context functions #16041

Overloading

  • Fix curried overloading resolution for polymorphic methods #16485

Parser

  • Align implementation with spec of soft modifiers #15961

Pattern Matching

  • Fix redundancy (unreachability) warning #16179
  • Teach SpaceEngine that generic tuples are irrefutable #16051
  • Fix exhaustivity warning #16168

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 Scala 2.x 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
  • Compute completions at typerPhase #16371
  • Only include accessible base classes in orDominator #16477

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 these are:

    86 Martin Odersky
    24 Yichen Xu
    23 Quentin Bernet
    19 Dale Wijnand
    18 Michael Pollmeier
    13 Paweł Marks
     8 Fengyun Liu
     7 Guillaume Raffin
     7 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.