github scala/scala3 3.7.4-RC1

pre-release6 hours ago

Highlights of the release

  • Bump Scala CLI to v1.9.1 (was v1.9.0) #23962
  • Make coverage more similar to the one in Scala 2 #23722

Other changes and fixes

Context Functions

  • Explain no expansion of ContextFunction0 #23844

Experimental: Capture Checking

  • Fix #23737: Update superCallContext to include dummy capture parameters in scope #23740
  • Fix separation checking for function results #23927
  • Simple enhancement for pattern matching with capturing types #23524
  • Don't check bounds in match type cases at CC #23738

Experimental: Explicit Nulls

  • Add warnings for inferred flexible types in public methods and fields #23880

Exports

  • Refine isEffectivelyFinal to avoid no-owner crash #23675

Implicits

  • Fix LiftToAnchors for higher-kinded type applications #23672
  • Fix implicit scope liftToAnchors for parameter lower bounds #23679

Linting

  • Invent given pattern name in for comprehension #23121
  • Unused var message mentions unread or unset #23719
  • Lint function arrow intended context function #23847

Match Types

  • Fix derivesFrom false negative in provablyDisjointClasses #23834

Parser

  • Improve message for nested package missing braces #23816
  • Fix: allow postfix setters under language.postfixOps #23775

Pattern Matching

  • Fix: do not transform Ident to This in PostTyper anymore #23899
  • Call inhabited for AppliedType recursively #23964
  • Fix false unreachable case warning #23800
  • Add subtype-based fallback in inferPrefixMap and recalculate constraints after application #23771

Presentation Compiler

  • Additional completions for using clause #23647
  • Completions - do not add [] for ... derives TC@@ #23811
  • Improve symbol order in completions provided by the presentation compiler #23888
  • Porting XRayModeHints #23891
  • Go to definition and hover for named args in pattern match #23956

Reporting

  • Do not discard amended format when f-interpolator warns #23697
  • Mention named givens in double def explainer #23833
  • Compute the right span for abstract error messages #23853
  • Add quick fix to add .nn #23598
  • Add addendum to private val parameter variance error message #23876

Scaladoc

  • Indicate optional parameters with = ... #23676
  • Scaladoc Support for Capture & Separation Checking #23607
  • Capture Calcuclus: don't eagerly drop caps on parameters #23759

SemanticDB

  • Add context parameters to SemanticDB synthetics #23381
  • Include synthetic apply in semanticdb #23629

Tuples

  • Fix: make vals created in desugaring of n-ary lambdas non-synthetic #23896

Typer

  • Prevent crash in SAM conversion with mismatched arity #23877
  • Handle assertion error in TyperState #23665
  • Correctly require a ClassTag when building a multidimensional Array #23902
  • Make isExactlyNothing and isExactlyAny work for And/OrTypes #24016

Contributors

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

According to git shortlog -sn --no-merges 3.7.3..3.7.4-RC1 these are:

    12  Som Snytt
    11  noti0na1
    11  Wojciech Mazur
     6  Martin Odersky
     5  Eugene Flesselle
     4  Hamza Remmal
     4  Natsu Kagami
     4  Seyon Sivatharan
     3  Oliver Bračevac
     3  Yoonjae Jeon
     3  dependabot[bot]
     2  Jan Chyb
     2  Katarzyna Marek
     2  Matt Bovel
     1  HarrisL2
     1  Kacper Korban
     1  Martin Duhem
     1  Paweł Perłakowski
     1  Piotr Chabelski
     1  Tomasz Godzik
     1  Vadim Chelyshov
     1  Yichen Xu
     1  Zieliński Patryk
     1  aherlihy
     1  katrinafyi
     1  vder
     1  zielinsky

Don't miss a new scala3 release

NewReleases is sending notifications on new releases.