support for scala3
Closed this issue · 5 comments
Are there any impediments to cross-building and publishing scala3 binaries?
This is currently blocked by eff
not having a Scala3 version yet.
I have plans of not using eff
at all in this project in the future; when that happens or if eff
gets published for Scala3 I will immediately start cross-publishing for it too.
I understand.
Meanwhile, do you have any suggestion how to use the clipp 2.13 library from a scala3 program?
I managed to get almost there with this application:
https://github.com/NicolasRouquette/scala3-bundle-closure/blob/master/src/main/scala/io/opencaesar/oml2owl/Oml2OwlApp.scala
However, I get a strange compilation error without any source attribution:
[error] An existential type that came from a Scala-2 classfile cannot be
[error] mapped accurately to to a Scala-3 equivalent.
[error] original type : (S[X], X => cats.free.Free[S, A]) forSome X
[error] reduces to : (S[X], X => cats.free.Free[S, A])
[error] type used instead: (S[Any], Any => cats.free.Free[S, A])
[error] This choice can cause follow-on type errors or hide type errors.
[error] Proceed at own risk.
[error] one error found
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 1 s, completed Apr 4, 2021, 4:24:30 PM
I suppose it has something to do with the definition of my parameters parser:
I could not find a way to solve this problem so I decided to copy just what I need of clipp to compile with scala 3.0.0-RC2.
https://github.com/NicolasRouquette/scala3-bundle-closure/tree/scala3-only
I don't know how to fix that existential type error, but will look into this and try to provide a Scala3 build or some workaround soon.
Seems like all the dependencies are now released for Scala 3, I'll try to make a release soon