dijon
dijon copied to clipboard
Add Scala 3 support
While you can use Scala 2 artifacts of dijon with Scala 3 (see CrossVersion.for3Use2_13), it could be great to have Scala 3 version that uses union types or new enums for AST representation.
Are you going to finish this one @plokhotnyuk ?
FYI @plokhotnyuk I made 0.6.0 release with the latest changes in master
@plokhotnyuk ping
Tests for Scala 3 are failing on dynamic call still... https://github.com/jvican/dijon/runs/5154360494?check_suite_focus=true
Will take a look
Would be really cool to see this library work on Scala 3 @plokhotnyuk :-)
Hey @jvican and @plokhotnyuk . Has the situation changed over time enough that there are no barriers for Dijon to work with Scala 3 LTS?
@ScalaWilliam @baldram @jvican I have no idea how Scala 3 support could be done in a source compatible way with Scala 2 yet.
More over, proposed here workaround with a pattern match on types to overcome missing support of recursive union types is not compilable with Scala 3.4.x anymore https://github.com/lampepfl/dotty/issues/18257
But the main problem is that dynamic call cannot be supported with implicit class conversions.
/cc @lbialy
no idea how Scala 3 support could be done in a source compatible way with Scala 2 yet.
I'm wondering if a cross-build is really necessary here? Isn't it a waste of effort? Perhaps it's better to just park this repo, in its current state, under the tag "Dijon for Scala2 / Deprecated" and continue development for Scala 3 only? After all, when new libraries are created today, no one looks back at history.
Can you point me towards a piece of code that poses a problem here?