cornerman / sloth

Type safe RPC in scala
MIT License
96 stars 11 forks source link

Support for scala 3 #188

Closed cornerman closed 1 year ago

cornerman commented 1 year ago

Macro generation was blocked by this: https://github.com/lampepfl/dotty/issues/11685

But it should work now.

Early experiments of a port to scala 3: https://github.com/cornerman/scala3-macro-testing

Dennis4b commented 1 year ago

It's great that Scala 3 is (back) on the radar.

I understand this is an annoying kind of question, but I would like to ask if you have a rough timeline in mind for Scala 3 support. Thank you!

dejvid commented 1 year ago

Yes me too :)

cornerman commented 1 year ago

I was finally able to build a minimal version of the macros for client and router in scala3 (see: https://github.com/cornerman/scala3-macro-testing/blob/master/src/main/scala/Main.scala). So, hopefully soonish :)

cornerman commented 1 year ago

The scala 3 PR is published as a snapshot, I expect to merge this quite soon without much changes. You can try it out with:

"com.github.cornerman" %% "sloth" % "0.6.7+11-60edc5d1-SNAPSHOT"
"com.github.cornerman" %%% "sloth" % "0.6.7+11-60edc5d1-SNAPSHOT" // scala-js

You will need to add snapshots to your resolvers in your build.sbt:

resolvers += ("Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
cornerman commented 1 year ago

This is now released as version 0.7.0.