Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

3.7.3

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Sep 15:03
· 848 commits to main since this release
eb198cf
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Release highlights

  • Warn if implicit default shadows given #23559
  • Standardize on -Vprint:... (still support -Xprint:... as alias) #22828

Other changes and fixes

Desugaring

  • Optimize simple tuple extraction #23373

Enums

  • Make hashcode of enum items stable #23218

Erasure

  • Replace erased class modifiers with Erased base traits #23447
  • Bring back part of PruneErasedDefs #23466

Experimental: Capture Checking

  • Fix parsing crash for update in later phases #23390
  • Implement boxing for singleton type arguments #23418
  • Expand Capability types also in arguments of Capability classes #23427
  • Adjustments to the capability trilogy #23428
  • Set context owner to the method for paramsToCap #23436
  • Flatten nested capture sets in retainedElementsRaw #23571
  • Fix well-formed test for capabilities #23393
  • Add restricted capabilities x.only[C] #23485
  • Rely on hidden sets for use checking #23580

Experimental: Separation Checking

  • Make separation checking controlled by language import #23560

Experimental: Erased Definitions

  • Refactorings and fixes to erased definition handling #23404

Experimental: Explicit Nulls

  • Add quick fix to remove unnecessary .nn #23461
  • Add stableNull annotation to force tracking mutable fields #23528

Experimental: Global Initialization

  • Rewrite resolveThis in global init checker #23282
  • Fix errors in the global initialization checker when compiling bootstrapped dotty #23429
  • Fix error in product-sequence match in global init checker #23480

Experimental: Into

  • Fix isConversionTargetType test #23401

Experimental: Modularity

  • Refinements to skolemizaton #23513

Experimental: Unroll

  • Enable UnrollDefinitions phase in REPL frontend phases #23433

Extension Methods

  • Avoid forcing extension on check of local select #23439

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #23532

Inline

  • Fix Symbol.info remapping in TreeTypeMap #23432
  • Fail not inlined inline method calls early #22925
  • Fix inline export forwarder generation regression #23126

Linting

  • Consider setter of effectively private var #23211
  • Add accessible check for import usage #23348
  • Check OrType in interpolated toString lint #23365
  • Use result of lambda type of implicit in CheckUnused #23497
  • Add suppression if nowarn differs #23652

Match Types

  • Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types #23265

Named Tuples

  • Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply #23603

Parser

  • Enforce -new-syntax under -language:future #23443
  • Disallow Scala 2 implicits under -source:future #23472

Pattern Matching

  • Fix problems in checking that a constructor is uninhabited for exhaustive match checking #23403

Pickling

  • Don't force annotation unpickling when testing for SilentIntoAnnot #23506
  • Drop invalid assumption from TastyUnpickler #23353

Printer

  • Print update modifier when printing update method definitions #23392

Positions

  • Compare span points in pathTo to determine best span #23581
  • Add line number magic comment support #23549

Presentation Compiler

  • Port Inlay hints for name parameters #23375
  • Fix: Simplify infer type for apply #23434
  • Fix: Inconsistent annotation tooltips #23454
  • Fix adjust type when already exists #23455
  • Exclude named parameters inlay hints for java defined #23462
  • Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method #23498
  • Add InferredMethodProvider for automatic method signature generation #23563
  • Fix completions for Quotes #23619
  • Handle default arguments in named parameters for inlay hints #23641
  • Fix issue with pc breaking in requiredMethod on newly overloaded valueOf #23708
  • Handle default arguments in named parameters for inlay hints #23641
  • Fix extracting refinements from intersection types in dynamic select hovers #23640

Quotes

  • Skip splice level checking for <refinement> symbols #22782
  • Fix stale top level synthetic package object being used in later runs #23464
  • Emit an error for quoted pattern type variable after new #23618
  • Fix issue with certain polyfunctions not properly matching in macros #23614
  • Check PCP of constructor calls on the type #7531

Reflection

  • Quotes reflect: sort the typeMembers output list and filter out non-members #22876

Reporting

  • Add an explainer to the DoubleDefinition error #23470
  • Suppress warnings in comprehensions with 22+ binds #23590
  • Unhelpful error message when trying to use named extraction, when not matching case class or named tuple #23354
  • Improve error message for conflicting definitions #23453
  • -Yprofile-trace properly report macro splicing source #23488
  • -Yprofile-trace profiles all inline calls #23490

Rewrites

  • Patch empty implicit parens on error recovery #22835
  • Rewrite underscore with optional space #23525

Runner

  • Bump Scala CLI to v1.9.0 (was v1.8.4) #23702

Scaladoc

  • Scaladoc: fixes and improvements to context bounds and extension methods #22156
  • Encode path of class #23503

SemanticDB

  • Bugfix: Also save infos in semanticdb #23587

Transform

  • Handle multiple type parameter lists in value class methods #23516
  • Check path of module prefix for tailrec #23491

Tuples

  • Normalize tuple types in var args seq literals and classOf instances #23465

Typer

  • Fix #22922: Add TypeParamRef handling in isSingletonBounded #23501
  • Fix this references everywhere in dependent function types #23514
  • Don't approximate a type using Nothing as prefix #23531
  • Support cleanup actions in class completers #23515
  • Fix regressions in asSeenFrom introduced in 3.7 #23438
  • Use correct owner in eta expansion #7564
  • Fix irrefutability checking in for with untupling #23273
  • Fix missing members reporting for var setters #23476
  • Guard against invalid prefixes in argForParam #23508
  • Add missing case to TypeComparer #23550
  • Fix match type bounds checking problem #23695
  • Generalize "Don't approximate a type using Nothing as prefix" #23628
  • More careful ClassTag instantiation #23659
  • Use more context for implicit search only if no default argument #23664

Contributors

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

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

 85 Martin Odersky
 56 Hamza Remmal
 29 Wojciech Mazur
 20 Som Snytt
 20 noti0na1
 18 Yichen Xu
 15 Jan Chyb
 9 Matt Bovel
 7 EnzeXing
 7 Guillaume Martres
 6 aherlihy
 5 Sébastien Doeraene
 4 Zieliński Patryk
 3 Oliver Bračevac
 3 Piotr Chabelski
 3 Tomasz Godzik
 2 Alexander
 2 Mikołaj Fornal
 2 Seyon Sivatharan
 1 Alex1005a
 1 HarrisL2
 1 Jan
 1 Jentsch
 1 Jędrzej Rochala
 1 Kacper Korban
 1 Katarzyna Marek
 1 Marc GRIS
 1 Martin Duhem
 1 Patryk Zieliński
 1 Przemysław Sajnóg
 1 Seth Tisue
 1 Wessel W. Bakker
 1 bingchen-li
 1 kijuky
Assets 28
Loading
bishabosha, nmcb, beyondpie, matsluni, leoliu, jbytecode, bjornregnell, Luder-dot, CrystalNetworkST, and peter-hst reacted with heart emoji
10 people reacted

AltStyle によって変換されたページ (->オリジナル) /