The Scala Programming Language for your Windows PC

Scala

Scala 3.7.3

  -  74.5 MB  -  Open Source
  • Latest Version

    Scala 3.7.4

  • Operating System

    Windows 7 / Windows 8 / Windows 10 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    Scala Team / External Link

  • Filename

    scala3-3.7.3.msi

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Scala 3.7.3.


For those interested in downloading the most recent release of Scala or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

Why is this app published on FileHorse? (More info)
  • Scala 3.7.3 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Scala 3.7.3 Screenshot 1

What's new in this version:

Highlights:
- Warn if implicit default shadows given
- Standardize on -Vprint:... (still support -Xprint:... as alias)

Other changes and fixes:

Desugaring:
- Optimize simple tuple extraction

Enums:
- Make hashcode of enum items stable

Erasure:
- Replace erased class modifiers with Erased base traits
- Bring back part of PruneErasedDefs

Experimental: Capture Checking:
- Fix parsing crash for update in later phases
- Implement boxing for singleton type arguments
- Expand Capability types also in arguments of Capability classes
- Adjustments to the capability trilogy
- Set context owner to the method for paramsToCap
- Flatten nested capture sets in retainedElementsRaw
- Fix well-formed test for capabilities
- Add restricted capabilities x.only[C]
- Rely on hidden sets for use checking

Experimental: Separation Checking:
- Make separation checking controlled by language import

Experimental: Erased Definitions:
- Refactorings and fixes to erased definition handling

Experimental: Explicit Nulls:
- Add quick fix to remove unnecessary .nn
- Add stableNull annotation to force tracking mutable fields

Experimental: Global Initialization:
- Rewrite resolveThis in global init checker
- Fix errors in the global initialization checker when compiling bootstrapped dotty
- Fix error in product-sequence match in global init checker

Experimental: Into:
- Fix isConversionTargetType test

Experimental: Modularity:
- Refinements to skolemizaton

Experimental: Unroll:
- Enable UnrollDefinitions phase in REPL frontend phases

Extension Methods:
- Avoid forcing extension on check of local select

Implicits:
- Refine implicit search fallbacks for better ClassTag handling

Inline:
- Fix Symbol.info remapping in TreeTypeMap
- Fail not inlined inline method calls early
- Fix inline export forwarder generation regression

Linting:
- Consider setter of effectively private var
- Add accessible check for import usage
- Check OrType in interpolated toString lint
- Use result of lambda type of implicit in CheckUnused
- Add suppression if nowarn differs

Match Types:
- Fix: Distinguish 0.0 and -0.0 in ConstantType match types

Named Tuples:
- Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply

Parser:
- Enforce -new-syntax under -language:future
- Disallow Scala 2 implicits under -source:future

Pattern Matching:
- Fix problems in checking that a constructor is uninhabited for exhaustive match checking

Pickling:
- Don't force annotation unpickling when testing for SilentIntoAnnot
- Drop invalid assumption from TastyUnpickler

Printer:
- Print update modifier when printing update method definitions

Positions:
- Compare span points in pathTo to determine best span
- Add line number magic comment support

Presentation Compiler:
- Port Inlay hints for name parameters
- Fix: Simplify infer type for apply
- Fix: Inconsistent annotation tooltips
- Fix adjust type when already exists
- Exclude named parameters inlay hints for java defined
- Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method
- Add InferredMethodProvider for automatic method signature generation
- Fix completions for Quotes
- Handle default arguments in named parameters for inlay hints
- Fix issue with pc breaking in requiredMethod on newly overloaded valueOf
- Handle default arguments in named parameters for inlay hints
- Fix extracting refinements from intersection types in dynamic select hovers

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

Reflection:
- Quotes reflect: sort the typeMembers output list and filter out non-members

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

Rewrites:
- Patch empty implicit parens on error recovery
- Rewrite underscore with optional space

Runner:
- Bump Scala CLI to v1.9.0 (was v1.8.4)

Scaladoc:
- Scaladoc: fixes and improvements to context bounds and extension methods
- Encode path of class

SemanticDB:
- Bugfix: Also save infos in semanticdb

Transform:
- Handle multiple type parameter lists in value class methods
- Check path of module prefix for tailrec

Tuples:
- Normalize tuple types in var args seq literals and classOf instances

Typer:
- Fix
- Fix this references everywhere in dependent function types
- Don't approximate a type using Nothing as prefix
- Support cleanup actions in class completers
- Fix regressions in asSeenFrom introduced in 3.7
- Use correct owner in eta expansion
- Fix irrefutability checking in for with untupling
- Fix missing members reporting for var setters
- Guard against invalid prefixes in argForParam
- Add missing case to TypeComparer
- Fix match type bounds checking problem
- Generalize "Don't approximate a type using Nothing as prefix"
- More careful ClassTag instantiation
- Use more context for implicit search only if no default argument