Skip to content

Instantly share code, notes, and snippets.

View WojciechMazur's full-sized avatar

Wojciech Mazur WojciechMazur

View GitHub Profile
@WojciechMazur
WojciechMazur / 0. README
Last active August 22, 2024 11:44
Given preference changes - Scala 3.6.0-RC1-bin-20240821-a2c53a1-NIGHTLY
Results of running Open Community Build against Scala 3.6.0-RC1-bin-20240821-a2c53a1-NIGHTLY that was run on 1579 projects.
There are 1284 projects that were tested with new the new givens prioritization enabled, the remaing projects define `-source:3.5` or lower in their build configuration. .
The list of excluded projects is available in the attachment.
`given-prefernece-changes.stats` contains a list of projects that started to warn about changes to given prioritizaiton including total and unique ammount of warnings as well their count distinct by the respected types.
`given-preference-changes.json` contains a parsed version of compiler warnings
Many projects are using a fixed `-source:3.x` version which would disable a new givens prioritization schema. For example, most of typlevel stack is using a fixed `3.0-migration` along all of the projects. That's one of the reasons why type-level libraries on their own seem.
We might consider forcing usage of 3.6 or higher source versions in them, but it would l
@WojciechMazur
WojciechMazur / Scala2.stdlib.diff
Created January 7, 2024 22:00
Dotty-#15551-Scala2-stdlib
> diff -bur text/outputs-head text/outputs-pr
diff --color -bur text/outputs-head/scala/PartialFunction.class.javap text/outputs-pr/scala/PartialFunction.class.javap
--- text/outputs-head/scala/PartialFunction.class.javap 2024-01-07 22:35:56
+++ text/outputs-pr/scala/PartialFunction.class.javap 2024-01-07 22:40:20
@@ -24,6 +24,8 @@
public default <A1 extends A, B1> B1 applyOrElse(A1, scala.Function1<A1, B1>);
public static scala.Function1 runWith$(scala.PartialFunction, scala.Function1);
public default <U> scala.Function1<A, java.lang.Object> runWith(scala.Function1<B, U>);
+ public static scala.Function1 andThen$(scala.PartialFunction, scala.Function1);
+ public default scala.Function1 andThen(scala.Function1);
@WojciechMazur
WojciechMazur / 3.2.2-vs-3.3.0
Created November 8, 2023 21:55
Open CB results for the ecosystem state at the day of release Scala 3.3.0 and 3.3.1
config cutoff date=2023-05-23 (day of release 3.3.0)
All projects would be build with the last tag of commit SHA before this date
Summary and comparsion at the end of file
---------------------------
Projects failing in 3.2.2
By build tool:
- mill: 6 (7.41%)
- scala-cli: 5 (6.17%)
- unknown: 1 (1.23%)
- sbt: 69 (85.19%)
@WojciechMazur
WojciechMazur / comparsion.md
Last active August 28, 2023 10:01
3.3.1-RC6 vs 3.3.0

Projects with last successful builds using Scala 3.3.1-RC4 [1]:

Project Version Build URL Notes
armanbilge/gcp4s 0.1-2e738ad -> 0.1-8d9cb99 Open CB logs Problem with JDK version, missing method

Projects with last successful builds using Scala 3.3.1-RC1-bin-20230524-5262680-NIGHTLY [5]:

Project Version Build URL Notes
Build Id: 3.2.2-RC1-bin-20220909-eaa2889-NIGHTLY_2022-09-10_full_51
Projects count: 926
Scala version: 3.2.2-RC1-bin-20220909-eaa2889-NIGHTLY
Failed projects: 74
- openlink/virtuoso-opensource
Version: 3.122
Build URL: https://scala3.westeurope.cloudapp.azure.com/job/buildCommunityProject/5536/
Successfull modules: 0
Failed modules: 0
@WojciechMazur
WojciechMazur / ScalaBenchmarksPlugin.scala
Last active July 7, 2022 15:33
Scala Benchmarks sbt plguin
import sbt._
import sbt.Keys._
import xsbti.compile.CompileAnalysis
import xsbti.VirtualFileRef
import java.nio.file.Path
import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
import java.nio.file.Files
@WojciechMazur
WojciechMazur / KMeansBench.scala
Created December 14, 2021 16:15
SN-benchmarks-KMeans-JMH
import java.util.concurrent.TimeUnit
import org.openjdk.jmh.annotations._
import scala.collection._
import scala.util.Random
import scala.Predef.augmentString
import scala.Predef.intWrapper
import scala.{Int, Double, Boolean}
import java.lang.String