Announcing Dotty 0.15.0-RC1

Hi everyone. We’ve released Dotty 0.15.0-RC1! The most exciting thing in this release is the full bootstrap for Dotty🎉. This means that now we compile Dotty with Dotty itself, thus we are able to use all of the new Dotty features in the compiler codebase.

Other notable changes include an annotation to regulate whether an alphanumeric method is meant to be used in an infix position, type-safe pattern bindings and more. You can read more about this release in the blog post:

Notable Changes

Language & Syntax

  • Type-Safe Pattern Matching (doc)
    • Fix #2578 Part 1: Tighten type checking of pattern bindings #6389
    • Fix #2578: (part 2) Make for-generators filter only if prefixed with case #6448
  • Make given clauses come last #6513
  • Add @infix annotation #5975 (doc)

Type System Improvements

  • Fix #6199: Use a skolemized prefix in asSeenFrom when needed #6454
  • Fix #6385: Don’t instantiate hk type constructors too early #6467
  • Skolem based gadt constraints #5736
  • Fix #6288: Allow Singletons in Unions #6299

Scala 2 and Cats code support

  • Fix #6484: Properly unpickle some Scala 2 type lambdas #6494
  • Fix #6242: package objects leak members from Any and Object #6498

Compiler Development

  • Full bootstrap: Use Dotty as the reference compiler #5923


Thank you to all the contributors who made this release possible :tada:

According to git shortlog -sn --no-merges 0.14.0-RC1..0.15.0-RC1 these are:

   191  Martin Odersky
   112  Nicolas Stucki
    29  Guillaume Martres
    25  Olivier Blanvillain
    21  Aleksander Boruch-Gruszecki
    17  Anatolii Kmetiuk
    10  Miles Sabin
     9  Liu Fengyun
     8  Aggelos Biboudis
     8  Jentsch
     5  Sébastien Doeraene
     2  Anatolii
     1  Fengyun Liu
     1  Olivier ROLAND
     1  phderome

Reporting Bugs

If you encounter a bug, please open an issue! :pray: