From 524ba06f363c700e64ff733818d3d787ce574c9c Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Mon, 14 Oct 2024 18:21:53 +0200 Subject: [PATCH 01/15] Add draft for 3.6.0 annoncment --- _posts/2024-11-19-release-notes-3.6.0.md | 207 +++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 _posts/2024-11-19-release-notes-3.6.0.md diff --git a/_posts/2024-11-19-release-notes-3.6.0.md b/_posts/2024-11-19-release-notes-3.6.0.md new file mode 100644 index 000000000..b3b499022 --- /dev/null +++ b/_posts/2024-11-19-release-notes-3.6.0.md @@ -0,0 +1,207 @@ +--- +category: announcement +permalink: /news/3.6.0 +title: "Scala 3.6.0 is now available!" +--- + + + +We're happy to announce the next minor release of Scala - 3.6.0 is finally out! + +# What’s new in 3.6.0? + +Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new amazing possibilities in writing concise, typesafe as well as easier, and easier to maintain code. + +## SIP-47 - Clause Interleaving + +The first major feature we're going to cover is the [clause interleaving](https://docs.scala-lang.org/sips/clause-interleaving.html). +With this change to the language, you're able to define multiple type parameter lists or place them after the first arguments list. Clause interleaving would benefit the path-dependent API creators. +It would eliminate the need for intermediate representations introducing runtime overhead or usage of complicated polymorphic functions. + +```scala +trait Key { type Value } +trait DB { + def getOrElse(k: Key)[V >: k.Value](default: V): V // dependent type parameter +} +``` + +## SIP-58 - Named Tuples + +Another stabilized feature in this release are the Named Tuples. These have been introduced as experimental in Scala 3.5.0 and allowed you to give meaningful names to tuple elements and use those names during constructing, destructuring, and pattern matching. + +```scala + type Point = (x: Int, y: Int) + val point: Point = (x = 1, y = 2) + point match + case (x = real, y = 0) => println(s"Real number: $real") + case _ => println("Point doesn't represent a real number") +``` + +This change also introduces improvements to extractors of case classes. You can now define named extractors for a selection of fields, allowing you to unclutter your code from unused variables. + +```scala +case class User(id: Int, name: String, surname: String) + +extension (values: Seq[User]) + // Collect user IDs of every entry that has the name matching argument + def idsWithName(name: String) = values.collect: + case User(name = `name`, id = userId) => userId +``` + +## SIP-62 - For-Comprehension Improvements + +Starting with Scala 3.6.0 you can take advantage of improvements to the for-comprehesnions syntax. +Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is ability to start for-comprehension block with aliases: + +```scala +for { + a = 1 + b <- Some(2) + c <- doSth(a) +} yield b + c +``` + +It also introduces changes to how your code is desugared by the compiler to `map` method calls, leading to a more optimized code by removing redundant calls where possible. + +## SIP-64 - Improve Syntax for Context Bounds and Givens + +This release stabilises the [SIP-64](https://docs.scala-lang.org/sips/sips/typeclasses-syntax.html) introduced as experimental in Scala 3.5.0. These changes provide you with the new syntax for defining type class instances. +The goal of these changes is to simplify and narrow the syntax rules required to create a given instance. To name a few: + +- you can now replace the `with` keyword with `:` when defining the simple type classes, +- context bounds can now be named and aggregated using `T : {A, B}` syntax, +- given methods defining requring contextual arguments can now be defined and chained using value +- conditional givens can also be defined with parameters +- by-name givens can be defined using conditional given with empty parameters list + +```scala +trait Order[T]: + extension(values: Seq[T]) def toSorted: Seq[T] = ??? + def compare(x: T, y: T): Int + +// No need for `with` keyword +given Order[Int]: + def compare(x: Int, y: Int): Int = ??? + +// Named given using named context bound parameter +given listOrdering: [T: Order as elementOrder] => Order[List[T]]: + def compare(x: List[T], y: List[T]): Int = elementOrder.compare(x.head, y.head) + +trait Show[T]: + extension(value: T) def asString: String + +// Aggregated context parameters +def showOrdered[T: {Order as unusedName, Show}](values: Seq[T]): Unit = + values.toSorted.map(_.asString).foreach(println) + +// Conditional givens where a contextual instance of Config is required to create an instance of Factory +trait Config +trait Factory +class MemoizingFactory(config: Config) extends Factory +given (config: Config) => Factory = MemoizingFactory(config) + +// By-name given +trait Context +given context: () => Context = ??? +``` + +Other changes to type classes involve the stabilisation of context bounds for type members. +The next mechanism allows to definition of an abstract given instance that needs to be provided by the class implementing trait that defines abstract given. + +```scala +trait Collection: + // abstract member context-bound + type Element: Order + +class List[T: Order] extends Collection: + type Element = T + // given Order[Element] = deferred // generated by compiler, uses class context bound + +class Set[T] extends Collection: + type Element = T + override given Order[Element] = ??? // custom implementation provided by the user +``` + +See the updated [Contextual Abstractions](https://scala-lang.org/api/3.6.0/docs/docs/reference/contextual/givens.html) chapter of the Scala 3 reference guide to learn more about these changes. + +_**Note**: It is important not to confuse changes under SIP-64 with the [experimental modularity improvements](https://dotty.epfl.ch/docs/reference/experimental/typeclasses.html) available under `-language:experimental.modularity` and `-source:future`. These changes are still being developed in the experimental phase and would require SIP committee acceptance before stabilisation. + +## SIP-56 Amendment: Match types extractors follow aliases and singletons + +Scala 3.6.0 also stabilises the improvements of match types previously available under `-language:experimental.betterMatchTypeExtractors`. These changes were amending the match type specification and adjusting the implementation of match types to resolve some of the issues reported by users. Under the new rules, it is possible to correctly resolve aliases and singleton types. + +```scala +trait A: + type T + type U = T + +trait B extends A: + type T = String + +type F[X] = A { type U = X } +type InvF[Y] = Y match + case F[x] => x + +def Test = summon[InvF[B] =:= String] // was error: selector B does not uniquely determine parameter x +``` + +## Experimental SIP-57 - Replace non-sensical `@unchecked` annotations + +One of the new, experimental, features is the implementation of [SIP-57](https://docs.scala-lang.org/sips/replace-nonsensical-unchecked-annotation.html) introducing a `runtimeChecked` extension method replacing some usages of `@unchecked` annotation using a more convenient syntax. A common use case for `runtimeChecked` is to assert that a pattern will always match, either for convenience or because there is a known invariant that the types can not express. + +Some typical use cases might be looking up an expected entry in a dynamically loaded dictionary-like structure: + +```scala +trait AppConfig: + def get(key: String): Option[String] +val config: AppConfig = ??? + +val Some(appVersion) = config.get("appVersion").runtimeChecked +``` + +# Other notable changes + +## Switch mapping of context bounds to using clauses + +Until Scala 3.6.0 context bound parameters were always desugared to `implicit` arguments, starting with 3.6.0 these would be mapped to `using` parameters instead. +This change should not affect the majority of users, however, it can lead to differences in how implicits are resolved. +Resolution of implicits can slightly differ depending on whether we're requesting them using `implicit` or `using` parameter, or depending on whether it was defined using `implicit` or `given` keywords. The special behaviours were introduced to a smooth migration from Scala 2 to brand new implicits resolution in Scala 3. +This change might also affect some of the projects that use compiler plugins or macros to inspect the implicit argument lists of the function calls - these might require some minor fixes, eg. when filtering symbols by their flags. + + + +## Work on a better scheme for given prioritization + +In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Currently, the compiler always tries to select the instance with the most specific subtype of the requested type. In the future, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. + +Starting from Scala 3.6.0, code whose behaviour can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. +Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules; with `-source:3.7` or `-source:future` you will get to use the new scheme. + +For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - Upcoming Changes to Givens in Scala 3.7. + +## Require named arguments for Java-defined annotations + +Java-defined annotations don't have an exact constructor representation. The compiler previously relied on the order of the fields to create annotation instance. One possible issue with this representation is the reordering of the fields. +Let's take the following example: + +```scala + public @interface Annotation { + int a() default 41; + int b() default 42; + } +``` + +Reordering the fields is binary-compatible but it might affect the meaning of `@Annotation(1)` +Starting from Scala 3.6.0, named arguments are required for Java-defined annotations. +The compiler can provide you with automatic rewrites introducing now required names, using `-source:3.6-migration, -rewrite` flags. The rewrites are done on a best-effort basis and should be inspected for correctness by the users. + +# What’s next? + + +# Contributors + +Thank you to all the contributors who made this release possible 🎉 + +According to git shortlog -sn --no-merges 3.5.2..3.6.0 these are: + + From b4dd9a11477346ac12a2182e2956143e398a8320 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Wed, 16 Oct 2024 13:30:15 +0200 Subject: [PATCH 02/15] Apply review comments: fix typos, add example for cumputed field names, make named tuples example less controversial --- _posts/2024-11-19-release-notes-3.6.0.md | 47 +++++++++++++++++++----- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/_posts/2024-11-19-release-notes-3.6.0.md b/_posts/2024-11-19-release-notes-3.6.0.md index b3b499022..bab08dab3 100644 --- a/_posts/2024-11-19-release-notes-3.6.0.md +++ b/_posts/2024-11-19-release-notes-3.6.0.md @@ -30,11 +30,20 @@ trait DB { Another stabilized feature in this release are the Named Tuples. These have been introduced as experimental in Scala 3.5.0 and allowed you to give meaningful names to tuple elements and use those names during constructing, destructuring, and pattern matching. ```scala - type Point = (x: Int, y: Int) - val point: Point = (x = 1, y = 2) - point match - case (x = real, y = 0) => println(s"Real number: $real") - case _ => println("Point doesn't represent a real number") +extension [T](seq: Seq[T]) + def partitionBy(predicate: PartialFunction[T, Boolean]): (matching: Seq[T], unmatched: Seq[T]) = + seq.partition(predicate.unapply(_).isDefined) + +@main def onlySmallRealNumbers = + List( + (x = 1, y = 0), + (x = 2, y = 3), + (x = 0, y = 1), + (x = 3, y = 0), + ).partitionBy: + case (x = real, y = 0) => real < 5 + .matching.map(_.x) + .foreach(println) ``` This change also introduces improvements to extractors of case classes. You can now define named extractors for a selection of fields, allowing you to unclutter your code from unused variables. @@ -48,6 +57,24 @@ extension (values: Seq[User]) case User(name = `name`, id = userId) => userId ``` +Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you to compute structural types without need for macros! +The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. + +```scala +class QueryResult[T](rawValues: Map[String, Any]) extends Selectable: + type Fields = NamedTuple.Map[NamedTuple.From[T], Option] + def selectDynamic(fieldName: String) = rawValues.get(fieldName) + +case class City(zipCode: Int, name: String) + +@main def Test = + val query: QueryResult[City] = QueryResult(Map("name" -> "Lausanne")) + assert(query.name.contains("Lausanne")) + assert(query.zipCode.isEmpty) +``` + +You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.0/docs/docs/reference/other-new-features/named-tuples.html). + ## SIP-62 - For-Comprehension Improvements Starting with Scala 3.6.0 you can take advantage of improvements to the for-comprehesnions syntax. @@ -58,10 +85,10 @@ for { a = 1 b <- Some(2) c <- doSth(a) -} yield b + c + extension (values: Seq[T]) def toSorted: Seq[T] = ??? ``` -It also introduces changes to how your code is desugared by the compiler to `map` method calls, leading to a more optimized code by removing redundant calls where possible. +It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. ## SIP-64 - Improve Syntax for Context Bounds and Givens @@ -76,7 +103,7 @@ The goal of these changes is to simplify and narrow the syntax rules required to ```scala trait Order[T]: - extension(values: Seq[T]) def toSorted: Seq[T] = ??? + extension (values: Seq[T]) def toSorted: Seq[T] = ??? def compare(x: T, y: T): Int // No need for `with` keyword @@ -88,7 +115,7 @@ given listOrdering: [T: Order as elementOrder] => Order[List[T]]: def compare(x: List[T], y: List[T]): Int = elementOrder.compare(x.head, y.head) trait Show[T]: - extension(value: T) def asString: String + extension (value: T) def asString: String // Aggregated context parameters def showOrdered[T: {Order as unusedName, Show}](values: Seq[T]): Unit = @@ -115,7 +142,7 @@ trait Collection: class List[T: Order] extends Collection: type Element = T - // given Order[Element] = deferred // generated by compiler, uses class context bound + // given Order[Element] = ev$1 // generated by compiler, uses class context bound class Set[T] extends Collection: type Element = T From 2a43f6aeda1104100beb2090ba3212ee66a4b00b Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Wed, 6 Nov 2024 13:00:09 +0100 Subject: [PATCH 03/15] Add launch image asset --- _posts/2024-11-19-release-notes-3.6.0.md | 2 +- resources/img/scala-3.6-launch.jpg | Bin 0 -> 194521 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 resources/img/scala-3.6-launch.jpg diff --git a/_posts/2024-11-19-release-notes-3.6.0.md b/_posts/2024-11-19-release-notes-3.6.0.md index bab08dab3..692557c15 100644 --- a/_posts/2024-11-19-release-notes-3.6.0.md +++ b/_posts/2024-11-19-release-notes-3.6.0.md @@ -4,7 +4,7 @@ permalink: /news/3.6.0 title: "Scala 3.6.0 is now available!" --- - +![Scala 3.6]({{ site.baseurl }}/resources/img/scala-3.6-launch.jpg) We're happy to announce the next minor release of Scala - 3.6.0 is finally out! diff --git a/resources/img/scala-3.6-launch.jpg b/resources/img/scala-3.6-launch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98ed734833c9b9f314bbe7316bc4bc23dea07be4 GIT binary patch literal 194521 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 ()YP&(sGwP*J*K_(G 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 Date: Wed, 6 Nov 2024 13:20:51 +0100 Subject: [PATCH 04/15] Apply fixes/suggestions required after review --- _posts/2024-11-19-release-notes-3.6.0.md | 30 +++++++++++------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/_posts/2024-11-19-release-notes-3.6.0.md b/_posts/2024-11-19-release-notes-3.6.0.md index 692557c15..8b693a82d 100644 --- a/_posts/2024-11-19-release-notes-3.6.0.md +++ b/_posts/2024-11-19-release-notes-3.6.0.md @@ -16,7 +16,6 @@ Besides multiple bugfixes, this release stabilises multiple experimental feature The first major feature we're going to cover is the [clause interleaving](https://docs.scala-lang.org/sips/clause-interleaving.html). With this change to the language, you're able to define multiple type parameter lists or place them after the first arguments list. Clause interleaving would benefit the path-dependent API creators. -It would eliminate the need for intermediate representations introducing runtime overhead or usage of complicated polymorphic functions. ```scala trait Key { type Value } @@ -57,7 +56,7 @@ extension (values: Seq[User]) case User(name = `name`, id = userId) => userId ``` -Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you to compute structural types without need for macros! +Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you compute structural types without need for macros! The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. ```scala @@ -78,14 +77,14 @@ You can read more about named tuples in the [dedicated section of Scala 3 refere ## SIP-62 - For-Comprehension Improvements Starting with Scala 3.6.0 you can take advantage of improvements to the for-comprehesnions syntax. -Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is ability to start for-comprehension block with aliases: +Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: ```scala -for { - a = 1 - b <- Some(2) - c <- doSth(a) - extension (values: Seq[T]) def toSorted: Seq[T] = ??? + for + a = 1 + b <- Some(2) + c <- doSth(a) + yield b + c ``` It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. @@ -95,9 +94,8 @@ It also introduces changes to how your code is desugared by the compiler, leadin This release stabilises the [SIP-64](https://docs.scala-lang.org/sips/sips/typeclasses-syntax.html) introduced as experimental in Scala 3.5.0. These changes provide you with the new syntax for defining type class instances. The goal of these changes is to simplify and narrow the syntax rules required to create a given instance. To name a few: -- you can now replace the `with` keyword with `:` when defining the simple type classes, +- you can now replace the `with` keyword with `:` when defining simple type classes, - context bounds can now be named and aggregated using `T : {A, B}` syntax, -- given methods defining requring contextual arguments can now be defined and chained using value - conditional givens can also be defined with parameters - by-name givens can be defined using conditional given with empty parameters list @@ -110,7 +108,7 @@ trait Order[T]: given Order[Int]: def compare(x: Int, y: Int): Int = ??? -// Named given using named context bound parameter +// Named given instance using named context bound parameter given listOrdering: [T: Order as elementOrder] => Order[List[T]]: def compare(x: List[T], y: List[T]): Int = elementOrder.compare(x.head, y.head) @@ -133,7 +131,7 @@ given context: () => Context = ??? ``` Other changes to type classes involve the stabilisation of context bounds for type members. -The next mechanism allows to definition of an abstract given instance that needs to be provided by the class implementing trait that defines abstract given. +This mechanism allows defining an abstract given instance that needs to be provided by a class implementing the trait that defines an abstract given. ```scala trait Collection: @@ -155,7 +153,7 @@ _**Note**: It is important not to confuse changes under SIP-64 with the [experim ## SIP-56 Amendment: Match types extractors follow aliases and singletons -Scala 3.6.0 also stabilises the improvements of match types previously available under `-language:experimental.betterMatchTypeExtractors`. These changes were amending the match type specification and adjusting the implementation of match types to resolve some of the issues reported by users. Under the new rules, it is possible to correctly resolve aliases and singleton types. +Scala 3.6.0 also stabilises the improvements of match types previously available under `-language:experimental.betterMatchTypeExtractors`. These changes were amending the match type specification and adjusting the implementation of match types under [SIP-56](https://docs.scala-lang.org/sips/match-types-spec.html) to resolve some of the issues reported by users. Under the new rules, it is possible to correctly resolve aliases and singleton types. ```scala trait A: @@ -192,7 +190,7 @@ val Some(appVersion) = config.get("appVersion").runtimeChecked Until Scala 3.6.0 context bound parameters were always desugared to `implicit` arguments, starting with 3.6.0 these would be mapped to `using` parameters instead. This change should not affect the majority of users, however, it can lead to differences in how implicits are resolved. -Resolution of implicits can slightly differ depending on whether we're requesting them using `implicit` or `using` parameter, or depending on whether it was defined using `implicit` or `given` keywords. The special behaviours were introduced to a smooth migration from Scala 2 to brand new implicits resolution in Scala 3. +Resolution of implicits can slightly differ depending on whether we're requesting them using `implicit` or `using` parameter, or depending on whether they were defined using `implicit` or `given` keywords. The special behaviours were introduced to smoothen migration from Scala 2 to brand new implicits resolution in Scala 3. This change might also affect some of the projects that use compiler plugins or macros to inspect the implicit argument lists of the function calls - these might require some minor fixes, eg. when filtering symbols by their flags. @@ -202,9 +200,9 @@ This change might also affect some of the projects that use compiler plugins or In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Currently, the compiler always tries to select the instance with the most specific subtype of the requested type. In the future, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. Starting from Scala 3.6.0, code whose behaviour can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. -Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules; with `-source:3.7` or `-source:future` you will get to use the new scheme. +Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules; with `-source:3.7` or `-source:future` the new scheme will be used. -For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - Upcoming Changes to Givens in Scala 3.7. +For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). ## Require named arguments for Java-defined annotations From d00dabbee21afa0c1f9f81f154474b728acae839 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 28 Nov 2024 12:58:08 +0100 Subject: [PATCH 05/15] Rename to Scala 3.6.2 --- ...0.md => 2024-12-05-release-notes-3.6.2.md} | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) rename _posts/{2024-11-19-release-notes-3.6.0.md => 2024-12-05-release-notes-3.6.2.md} (88%) diff --git a/_posts/2024-11-19-release-notes-3.6.0.md b/_posts/2024-12-05-release-notes-3.6.2.md similarity index 88% rename from _posts/2024-11-19-release-notes-3.6.0.md rename to _posts/2024-12-05-release-notes-3.6.2.md index 8b693a82d..35a5b3f3a 100644 --- a/_posts/2024-11-19-release-notes-3.6.0.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -1,14 +1,14 @@ --- category: announcement -permalink: /news/3.6.0 -title: "Scala 3.6.0 is now available!" +permalink: /news/3.6.2 +title: "Scala 3.6.2 is now available!" --- ![Scala 3.6]({{ site.baseurl }}/resources/img/scala-3.6-launch.jpg) -We're happy to announce the next minor release of Scala - 3.6.0 is finally out! +We're happy to announce the next minor release of Scala - 3.6.2 is finally out! -# What’s new in 3.6.0? +# What’s new in Scala 3.6? Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new amazing possibilities in writing concise, typesafe as well as easier, and easier to maintain code. @@ -72,11 +72,11 @@ case class City(zipCode: Int, name: String) assert(query.zipCode.isEmpty) ``` -You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.0/docs/docs/reference/other-new-features/named-tuples.html). +You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.2/docs/docs/reference/other-new-features/named-tuples.html). ## SIP-62 - For-Comprehension Improvements -Starting with Scala 3.6.0 you can take advantage of improvements to the for-comprehesnions syntax. +Starting with Scala 3.6.2 you can take advantage of improvements to the for-comprehesnions syntax. Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: ```scala @@ -147,13 +147,13 @@ class Set[T] extends Collection: override given Order[Element] = ??? // custom implementation provided by the user ``` -See the updated [Contextual Abstractions](https://scala-lang.org/api/3.6.0/docs/docs/reference/contextual/givens.html) chapter of the Scala 3 reference guide to learn more about these changes. +See the updated [Contextual Abstractions](https://scala-lang.org/api/3.6.2/docs/docs/reference/contextual/givens.html) chapter of the Scala 3 reference guide to learn more about these changes. _**Note**: It is important not to confuse changes under SIP-64 with the [experimental modularity improvements](https://dotty.epfl.ch/docs/reference/experimental/typeclasses.html) available under `-language:experimental.modularity` and `-source:future`. These changes are still being developed in the experimental phase and would require SIP committee acceptance before stabilisation. ## SIP-56 Amendment: Match types extractors follow aliases and singletons -Scala 3.6.0 also stabilises the improvements of match types previously available under `-language:experimental.betterMatchTypeExtractors`. These changes were amending the match type specification and adjusting the implementation of match types under [SIP-56](https://docs.scala-lang.org/sips/match-types-spec.html) to resolve some of the issues reported by users. Under the new rules, it is possible to correctly resolve aliases and singleton types. +Scala 3.6 also stabilises the improvements of match types previously available under `-language:experimental.betterMatchTypeExtractors`. These changes were amending the match type specification and adjusting the implementation of match types under [SIP-56](https://docs.scala-lang.org/sips/match-types-spec.html) to resolve some of the issues reported by users. Under the new rules, it is possible to correctly resolve aliases and singleton types. ```scala trait A: @@ -188,7 +188,7 @@ val Some(appVersion) = config.get("appVersion").runtimeChecked ## Switch mapping of context bounds to using clauses -Until Scala 3.6.0 context bound parameters were always desugared to `implicit` arguments, starting with 3.6.0 these would be mapped to `using` parameters instead. +Until Scala 3.6 context bound parameters were always desugared to `implicit` arguments, starting with Scala 3.6 these would be mapped to `using` parameters instead. This change should not affect the majority of users, however, it can lead to differences in how implicits are resolved. Resolution of implicits can slightly differ depending on whether we're requesting them using `implicit` or `using` parameter, or depending on whether they were defined using `implicit` or `given` keywords. The special behaviours were introduced to smoothen migration from Scala 2 to brand new implicits resolution in Scala 3. This change might also affect some of the projects that use compiler plugins or macros to inspect the implicit argument lists of the function calls - these might require some minor fixes, eg. when filtering symbols by their flags. @@ -199,7 +199,7 @@ This change might also affect some of the projects that use compiler plugins or In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Currently, the compiler always tries to select the instance with the most specific subtype of the requested type. In the future, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. -Starting from Scala 3.6.0, code whose behaviour can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. +Starting from Scala 3.6, code whose behaviour can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. Running the compiler with `-source:3.5` will allow you to temporarily keep using the old rules; with `-source:3.7` or `-source:future` the new scheme will be used. For the detailed motivation of changes with examples of code that will be easier to write and understand, see our recent blog post - [Upcoming Changes to Givens in Scala 3.7]({{ site.baseurl }}/2024/08/19/given-priority-change-3.7.html). @@ -217,7 +217,7 @@ Let's take the following example: ``` Reordering the fields is binary-compatible but it might affect the meaning of `@Annotation(1)` -Starting from Scala 3.6.0, named arguments are required for Java-defined annotations. +Starting from Scala 3.6, named arguments are required for Java-defined annotations. The compiler can provide you with automatic rewrites introducing now required names, using `-source:3.6-migration, -rewrite` flags. The rewrites are done on a best-effort basis and should be inspected for correctness by the users. # What’s next? @@ -227,6 +227,6 @@ The compiler can provide you with automatic rewrites introducing now required na Thank you to all the contributors who made this release possible 🎉 -According to git shortlog -sn --no-merges 3.5.2..3.6.0 these are: +According to git shortlog -sn --no-merges 3.5.2..3.6.2 these are: From bc01d82510e9f8acf2cc872dbbf6e9da013d4588 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 28 Nov 2024 13:15:53 +0100 Subject: [PATCH 06/15] Reorder new features. Acknowledge named tuples as experimental and encourage to test it out in notable changes section --- _posts/2024-12-05-release-notes-3.6.2.md | 135 ++++++++++++----------- 1 file changed, 70 insertions(+), 65 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 35a5b3f3a..408a42aa0 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -24,71 +24,6 @@ trait DB { } ``` -## SIP-58 - Named Tuples - -Another stabilized feature in this release are the Named Tuples. These have been introduced as experimental in Scala 3.5.0 and allowed you to give meaningful names to tuple elements and use those names during constructing, destructuring, and pattern matching. - -```scala -extension [T](seq: Seq[T]) - def partitionBy(predicate: PartialFunction[T, Boolean]): (matching: Seq[T], unmatched: Seq[T]) = - seq.partition(predicate.unapply(_).isDefined) - -@main def onlySmallRealNumbers = - List( - (x = 1, y = 0), - (x = 2, y = 3), - (x = 0, y = 1), - (x = 3, y = 0), - ).partitionBy: - case (x = real, y = 0) => real < 5 - .matching.map(_.x) - .foreach(println) -``` - -This change also introduces improvements to extractors of case classes. You can now define named extractors for a selection of fields, allowing you to unclutter your code from unused variables. - -```scala -case class User(id: Int, name: String, surname: String) - -extension (values: Seq[User]) - // Collect user IDs of every entry that has the name matching argument - def idsWithName(name: String) = values.collect: - case User(name = `name`, id = userId) => userId -``` - -Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you compute structural types without need for macros! -The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. - -```scala -class QueryResult[T](rawValues: Map[String, Any]) extends Selectable: - type Fields = NamedTuple.Map[NamedTuple.From[T], Option] - def selectDynamic(fieldName: String) = rawValues.get(fieldName) - -case class City(zipCode: Int, name: String) - -@main def Test = - val query: QueryResult[City] = QueryResult(Map("name" -> "Lausanne")) - assert(query.name.contains("Lausanne")) - assert(query.zipCode.isEmpty) -``` - -You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.2/docs/docs/reference/other-new-features/named-tuples.html). - -## SIP-62 - For-Comprehension Improvements - -Starting with Scala 3.6.2 you can take advantage of improvements to the for-comprehesnions syntax. -Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: - -```scala - for - a = 1 - b <- Some(2) - c <- doSth(a) - yield b + c -``` - -It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. - ## SIP-64 - Improve Syntax for Context Bounds and Givens This release stabilises the [SIP-64](https://docs.scala-lang.org/sips/sips/typeclasses-syntax.html) introduced as experimental in Scala 3.5.0. These changes provide you with the new syntax for defining type class instances. @@ -170,6 +105,21 @@ type InvF[Y] = Y match def Test = summon[InvF[B] =:= String] // was error: selector B does not uniquely determine parameter x ``` +## Experimental SIP-62 - For-Comprehension Improvements + +Starting with Scala 3.6.2 you can take advantage of improvements to the for-comprehesnions syntax. +Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: + +```scala + for + a = 1 + b <- Some(2) + c <- doSth(a) + yield b + c +``` + +It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. + ## Experimental SIP-57 - Replace non-sensical `@unchecked` annotations One of the new, experimental, features is the implementation of [SIP-57](https://docs.scala-lang.org/sips/replace-nonsensical-unchecked-annotation.html) introducing a `runtimeChecked` extension method replacing some usages of `@unchecked` annotation using a more convenient syntax. A common use case for `runtimeChecked` is to assert that a pattern will always match, either for convenience or because there is a known invariant that the types can not express. @@ -220,6 +170,61 @@ Reordering the fields is binary-compatible but it might affect the meaning of `@ Starting from Scala 3.6, named arguments are required for Java-defined annotations. The compiler can provide you with automatic rewrites introducing now required names, using `-source:3.6-migration, -rewrite` flags. The rewrites are done on a best-effort basis and should be inspected for correctness by the users. +## Experimental SIP-58 - Named Tuples + +Named Tuples have been introduced as experimental in Scala 3.5.0. This feature is now ready to be tested, but is not yet stablized. +We encourage you to try named tuples and to report your feedback [on the public forum](https://contributors.scala-lang.org/t/pre-sip-named-tuples). +Named Tuples allow you to give meaningful names to tuple elements and use those names during constructing, destructuring, and pattern matching. + +```scala +//> using options -experimental -language:experimental.namedTuples +extension [T](seq: Seq[T]) + def partitionBy(predicate: PartialFunction[T, Boolean]): (matching: Seq[T], unmatched: Seq[T]) = + seq.partition(predicate.unapply(_).isDefined) + +@main def onlySmallRealNumbers = + List( + (x = 1, y = 0), + (x = 2, y = 3), + (x = 0, y = 1), + (x = 3, y = 0), + ).partitionBy: + case (x = real, y = 0) => real < 5 + .matching.map(_.x) + .foreach(println) +``` + +This change also introduces improvements to extractors of case classes. You can now define named extractors for a selection of fields, allowing you to unclutter your code from unused variables. + +```scala +//> using options -experimental -language:experimental.namedTuples +case class User(id: Int, name: String, surname: String) + +extension (values: Seq[User]) + // Collect user IDs of every entry that has the name matching argument + def idsWithName(name: String) = values.collect: + case User(name = `name`, id = userId) => userId +``` + +Last, but not least, named tuples are opening a new paradigm of metaprogramming by letting you compute structural types without need for macros! +The `Selectable` trait now has a `Fields` type member that can be instantiated to a named tuple. + +```scala +//> using options -experimental -language:experimental.namedTuples +class QueryResult[T](rawValues: Map[String, Any]) extends Selectable: + type Fields = NamedTuple.Map[NamedTuple.From[T], Option] + def selectDynamic(fieldName: String) = rawValues.get(fieldName) + +case class City(zipCode: Int, name: String) + +@main def Test = + val query: QueryResult[City] = QueryResult(Map("name" -> "Lausanne")) + assert(query.name.contains("Lausanne")) + assert(query.zipCode.isEmpty) +``` + +You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.2/docs/docs/reference/experimental/named-tuples.html). + # What’s next? From 45fcec98c94a48d19b0f2f027559e8f8ed77f799 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 28 Nov 2024 13:25:04 +0100 Subject: [PATCH 07/15] Explain why 3.6.2 is a first release --- _posts/2024-12-05-release-notes-3.6.2.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 408a42aa0..0c21e8059 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -8,6 +8,16 @@ title: "Scala 3.6.2 is now available!" We're happy to announce the next minor release of Scala - 3.6.2 is finally out! +# What happend to Scala 3.6.0 and 3.6.1? + +During the release of 3.6.0-RC1, an accident caused the publishing of artefacts versioned as 3.6.0 to the immutable Maven repository. +To mitigate possible damage we've released a hotfix release 3.6.1 to prevent automatic tooling from using a broken version of the compiler. +Versions 3.6.0 (a broken release) and 3.6.1 (a hotfix release) should never be used. +The incident was described in detail at [Scala 3.6.0 Post Mortem blogpost](https://www.scala-lang.org/news/post-mortem-3.6.0.html). + +Scala 3.6.2 should effectively be regarded as "3.6.0" for all intents and purposes. +We apologize to the Scala users for any inconvenience it might have caused. + # What’s new in Scala 3.6? Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new amazing possibilities in writing concise, typesafe as well as easier, and easier to maintain code. From ec395eae9ba695a22deb987db7e2c07111e4e122 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 28 Nov 2024 14:00:44 +0100 Subject: [PATCH 08/15] Don't overhype new features and fix betterFors snippet --- _posts/2024-12-05-release-notes-3.6.2.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 0c21e8059..3914a6ba0 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -20,7 +20,7 @@ We apologize to the Scala users for any inconvenience it might have caused. # What’s new in Scala 3.6? -Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new amazing possibilities in writing concise, typesafe as well as easier, and easier to maintain code. +Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new possibilities in writing concise, typesafe as well as easier, and easier to maintain code. ## SIP-47 - Clause Interleaving @@ -121,11 +121,13 @@ Starting with Scala 3.6.2 you can take advantage of improvements to the for-comp Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: ```scala +//> using options -experimental -language:experimental.betterFors +@main def betterFors = for a = 1 b <- Some(2) - c <- doSth(a) - yield b + c + c <- Option.when(a < 5)(10) + yield b * c ``` It also introduces changes to how your code is desugared by the compiler, leading to a more optimized code by removing some redundant calls. From 00bd310cc1fa8fd137f0eb668fa3d578c356fb0b Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Thu, 28 Nov 2024 14:13:32 +0100 Subject: [PATCH 09/15] Fill the What's next section with expected dates of next releases --- _posts/2024-12-05-release-notes-3.6.2.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 3914a6ba0..a50d6dc95 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -238,7 +238,12 @@ case class City(zipCode: Int, name: String) You can read more about named tuples in the [dedicated section of Scala 3 reference documentation](https://scala-lang.org/api/3.6.2/docs/docs/reference/experimental/named-tuples.html). # What’s next? - + +The Scala 3.6.2 will be followed by at least 2 patch releases, during which we will focus on bug fixes and improvements to experimental features based on your feedback. +You can expect Scala 3.6.3 to be released in the middle of January followed by 3.6.4 by the end of Q1 2025. +In Q2 2025 we're planning a new minor release of Scala 3.7 that might bring stabilisation to some of the experimental features. We are encouraging you to test out the experimental features mentioned in this article and share your feedback with the Scala team. + +Currently, we are also preparing a Scala 3.3.5 LTS patch release - it would include all backportable changes introduced until Scala 3.5.2. It should be released in January 2025. # Contributors From 60592845242b9b14323a474152d3e933783c5eae Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 11:26:36 +0100 Subject: [PATCH 10/15] Fix typos --- _posts/2024-12-05-release-notes-3.6.2.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index a50d6dc95..41046a2e1 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -8,7 +8,7 @@ title: "Scala 3.6.2 is now available!" We're happy to announce the next minor release of Scala - 3.6.2 is finally out! -# What happend to Scala 3.6.0 and 3.6.1? +# What happened to Scala 3.6.0 and 3.6.1? During the release of 3.6.0-RC1, an accident caused the publishing of artefacts versioned as 3.6.0 to the immutable Maven repository. To mitigate possible damage we've released a hotfix release 3.6.1 to prevent automatic tooling from using a broken version of the compiler. @@ -20,7 +20,7 @@ We apologize to the Scala users for any inconvenience it might have caused. # What’s new in Scala 3.6? -Besides multiple bugfixes, this release stabilises multiple experimental features introduced to Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new possibilities in writing concise, typesafe as well as easier, and easier to maintain code. +Besides multiple bugfixes, this release stabilises multiple experimental features introduced to the Scala language after careful review and acceptance by the [Scala Improvement Proposal's Commitee](https://docs.scala-lang.org/sips/). Many of these changes can have a significant impact on the Scala syntax and are introducing new possibilities in writing concise, typesafe as well as easier, and easier to maintain code. ## SIP-47 - Clause Interleaving @@ -117,7 +117,7 @@ def Test = summon[InvF[B] =:= String] // was error: selector B does not uniquely ## Experimental SIP-62 - For-Comprehension Improvements -Starting with Scala 3.6.2 you can take advantage of improvements to the for-comprehesnions syntax. +Starting with Scala 3.6.2 you can take advantage of improvements to the for-comprehensions syntax. Major user-facing improvement introduced by [SIP-62](https://docs.scala-lang.org/sips/better-fors.html) is the ability to start a for-comprehension block with aliases: ```scala @@ -184,7 +184,7 @@ The compiler can provide you with automatic rewrites introducing now required na ## Experimental SIP-58 - Named Tuples -Named Tuples have been introduced as experimental in Scala 3.5.0. This feature is now ready to be tested, but is not yet stablized. +Named Tuples have been introduced as experimental in Scala 3.5.0. This feature is now ready to be tested, but is not yet stabilized. We encourage you to try named tuples and to report your feedback [on the public forum](https://contributors.scala-lang.org/t/pre-sip-named-tuples). Named Tuples allow you to give meaningful names to tuple elements and use those names during constructing, destructuring, and pattern matching. From 89ec1f6fcd4971eaff3fa65f1d6973c079485551 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 12:16:13 +0100 Subject: [PATCH 11/15] Add example of single param annonymous Java defined annotatios --- _posts/2024-12-05-release-notes-3.6.2.md | 26 +++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 41046a2e1..04d110ec3 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -179,7 +179,31 @@ Let's take the following example: ``` Reordering the fields is binary-compatible but it might affect the meaning of `@Annotation(1)` -Starting from Scala 3.6, named arguments are required for Java-defined annotations. +Starting from Scala 3.6, named arguments are required for Java-defined annotations that define multiple parameters. Java defined annotations with a single parameter named `value` can still be used anonymously. + +```Java + public @interface CanonicalAnnotation { + String value() default ""; + } + public @interface CustomAnnotation { + String param() default ""; + } +``` + +```Scala +class NoExplicitNames( + @CanonicalAnnotation() useDefault: String, + @CanonicalAnnotation(value = "myValue") named: String + @CanonicalAnnotation("myValue") unnamed: String +) + +class ExplicitNamesRequired( + @CustomAnnotation() useDefault: String, + @CustomAnnotation(param = "myParam") named: String + @CustomAnnotation("unnamedParam") invalid: String // error +) +``` + The compiler can provide you with automatic rewrites introducing now required names, using `-source:3.6-migration, -rewrite` flags. The rewrites are done on a best-effort basis and should be inspected for correctness by the users. ## Experimental SIP-58 - Named Tuples From 65864ddbd8bbb93ba77c4da617cf18239fb48d52 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 12:26:02 +0100 Subject: [PATCH 12/15] Fill in contributors list --- _posts/2024-12-05-release-notes-3.6.2.md | 47 +++++++++++++++++++++++- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 04d110ec3..252a2e78d 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -273,6 +273,49 @@ Currently, we are also preparing a Scala 3.3.5 LTS patch release - it would incl Thank you to all the contributors who made this release possible 🎉 -According to git shortlog -sn --no-merges 3.5.2..3.6.2 these are: +According to `git shortlog -sn --no-merges 3.5.2..3.6.2` these are: - +``` + 128 Martin Odersky + 53 Wojciech Mazur + 44 Dale Wijnand + 35 Hamza REMMAL + 33 Kacper Korban + 31 Eugene Flesselle + 22 Hamza Remmal + 11 Katarzyna Marek + 10 Matt Bovel + 9 noti0na1 + 9 rochala + 8 Jamie Thompson + 8 Jan Chyb + 7 Adrien Piquerez + 7 Som Snytt + 7 Sébastien Doeraene + 7 dependabot[bot] + 6 Yichen Xu + 5 EnzeXing + 5 Guillaume Martres + 4 Fengyun Liu + 4 kasiaMarek + 3 Martin Duhem + 3 Oliver Bracevac + 3 Piotr Chabelski + 2 Aleksander Rainko + 2 David Hua + 2 Florian3k + 2 HarrisL2 + 2 Joel Wilsson + 2 Jędrzej Rochala + 2 Kenji Yoshida + 1 Eugene Yokota + 1 Kavin Satheeskumar + 1 Lorenzo Gabriele + 1 Michel Charpentier + 1 Ondrej Lhotak + 1 Raphael Jolly + 1 Tomasz Godzik + 1 Yuito Murase + 1 crunchyfrog + 1 philippus +``` From 98ec84da79f49fb5bd3e0099d085bc157832381c Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 12:33:08 +0100 Subject: [PATCH 13/15] Fix code snippets --- _posts/2024-12-05-release-notes-3.6.2.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 252a2e78d..56bdfee40 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -79,6 +79,8 @@ Other changes to type classes involve the stabilisation of context bounds for ty This mechanism allows defining an abstract given instance that needs to be provided by a class implementing the trait that defines an abstract given. ```scala +trait Order[T] + trait Collection: // abstract member context-bound type Element: Order @@ -139,6 +141,7 @@ One of the new, experimental, features is the implementation of [SIP-57](https:/ Some typical use cases might be looking up an expected entry in a dynamically loaded dictionary-like structure: ```scala +//> using options -experimental trait AppConfig: def get(key: String): Option[String] val config: AppConfig = ??? @@ -155,8 +158,6 @@ This change should not affect the majority of users, however, it can lead to dif Resolution of implicits can slightly differ depending on whether we're requesting them using `implicit` or `using` parameter, or depending on whether they were defined using `implicit` or `given` keywords. The special behaviours were introduced to smoothen migration from Scala 2 to brand new implicits resolution in Scala 3. This change might also affect some of the projects that use compiler plugins or macros to inspect the implicit argument lists of the function calls - these might require some minor fixes, eg. when filtering symbols by their flags. - - ## Work on a better scheme for given prioritization In the [Scala 3.5.0 release notes](https://scala-lang.org/blog/2024/08/22/scala-3.5.0-released.html) we've announced upcoming changes to givens, due to their peculiar problem with prioritization. Currently, the compiler always tries to select the instance with the most specific subtype of the requested type. In the future, it would change to always selecting the instance with the most general subtype that satisfies the context-bound. From 67fd0de105105b888edea4c01b12ef7b41b85951 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 12:51:29 +0100 Subject: [PATCH 14/15] Extend abstract givens example to show usage of scala.compiletime.deferred --- _posts/2024-12-05-release-notes-3.6.2.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 56bdfee40..43f00e392 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -80,18 +80,24 @@ This mechanism allows defining an abstract given instance that needs to be provi ```scala trait Order[T] +trait Show[T] trait Collection: // abstract member context-bound type Element: Order - -class List[T: Order] extends Collection: + // explicit abstract given + given Show[Element] = compiletime.deferred + +class List[T: {Order, Show}] extends Collection: type Element = T - // given Order[Element] = ev$1 // generated by compiler, uses class context bound - -class Set[T] extends Collection: + // generated by compiler, uses class context bound + // override final given Order[Element] = evidence$1 + // override final given Show[Element] = evidence$2 + +class Set[T: Show as show] extends Collection: type Element = T override given Order[Element] = ??? // custom implementation provided by the user + // override final given Show[Element] = this.show // generated by compiler ``` See the updated [Contextual Abstractions](https://scala-lang.org/api/3.6.2/docs/docs/reference/contextual/givens.html) chapter of the Scala 3 reference guide to learn more about these changes. From 083dbd5d93ed265065295e94c78e12de8a5478d5 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Tue, 10 Dec 2024 15:27:17 +0100 Subject: [PATCH 15/15] Fixes to named annotations example --- _posts/2024-12-05-release-notes-3.6.2.md | 44 ++++++++++++++++-------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/_posts/2024-12-05-release-notes-3.6.2.md b/_posts/2024-12-05-release-notes-3.6.2.md index 43f00e392..014bf7aef 100644 --- a/_posts/2024-12-05-release-notes-3.6.2.md +++ b/_posts/2024-12-05-release-notes-3.6.2.md @@ -186,29 +186,45 @@ Let's take the following example: ``` Reordering the fields is binary-compatible but it might affect the meaning of `@Annotation(1)` -Starting from Scala 3.6, named arguments are required for Java-defined annotations that define multiple parameters. Java defined annotations with a single parameter named `value` can still be used anonymously. +Starting from Scala 3.6, named arguments are required for Java-defined annotations that define multiple parameters. +If the Java-defined annotation contains paramter named `value` its name can be ommited only when annotation is applied using a single argument. ```Java - public @interface CanonicalAnnotation { + public @interface Example { String value() default ""; + String param() default ""; } - public @interface CustomAnnotation { + public @interface NoValueExample { String param() default ""; } ``` ```Scala -class NoExplicitNames( - @CanonicalAnnotation() useDefault: String, - @CanonicalAnnotation(value = "myValue") named: String - @CanonicalAnnotation("myValue") unnamed: String -) - -class ExplicitNamesRequired( - @CustomAnnotation() useDefault: String, - @CustomAnnotation(param = "myParam") named: String - @CustomAnnotation("unnamedParam") invalid: String // error -) +// Annotation with `value: String = "", param: String = ""` paramters +@Example() +def onlyDefaults: Unit = () + +@Example("param") +def valueWithDefaults: Unit = () + +@Example(value = "ok", param = "fine") +def multipleParams: Unit = () + +@Example("a", "b") // error, both parameters should be named +def multipleUnnamedParams: Unit = () + +@Example("first", param = "second") // error, `"first"` argument should be named +def multipleMixedParams: Unit = () + +// Annotation with `param: String = ""` parameters +@NoValueExample() +def defaultOnly: Unit = () + +@NoValueExample(param = "foo") +def namedParam: Unit = () + +@NoValueExample("foo") // error, the only parameter is not named `value` +def invalidUnnamedParam: Unit = () ``` The compiler can provide you with automatic rewrites introducing now required names, using `-source:3.6-migration, -rewrite` flags. The rewrites are done on a best-effort basis and should be inspected for correctness by the users.