zio / zio-flow

Resilient, distributed applications powered by ZIO
https://zio.dev/zio-flow
Apache License 2.0
142 stars 39 forks source link

Scala 3 support #225

Open vigoo opened 2 years ago

vigoo commented 1 year ago

Depends on https://github.com/zio/zio-schema/issues/395

DanielBlanco commented 1 year ago

Any news on this? looks like zio-schema already supports Scala 3.

vigoo commented 1 year ago

It's work in progress: https://github.com/zio/zio-flow/pull/246

I'm blocked on some weird issues. The most recent one:

I noticed noticed earlier that in zio-flow some zio-prelude Newtypes are not working with Scala 3 - their .apply macro is not type checking, Scala 3 says it has type Any and not the actual type. But it only happened in some tests and in other places in the codebase they worked. Now I discovered the following: The newtypes are defined in zioFlow's main sourceset which is a cross-project (jvm/js - probably does not matter) The non-compiling tests are in an other module, zioFlowRuntime which was using sbt's dependsOn(zioFlowJvm % "compile->compile;test->test") syntax because it shared some generators defined from zioFlow's test source set (this is jvm only) if I duplicate the shared things in zioFlowRuntime's test source set, not touching the newtype definitions at all, and do dependsOn(zioFlowJVM) then it works (fails with some implicit errors unrelated to the newtypes, to be fixed)

fabiorizzello commented 6 months ago

Any news?

vigoo commented 6 months ago

I stopped working on this a long time ago. There is a draft PR https://github.com/zio/zio-flow/pull/246 if anyone wants to pick it up.