Automatic and customizable compile time transformations between similar case classes and sealed traits/enums, essentially a thing that glues your code. Scala 3 only. Or is it duct 🤔
There are some issues uncovered when compiling with -Xcheck-macros, namely:
Both Accumulating and FailFast transformations report bad owners inside lambdas of non-fallible sub-transformations (eg. ihen transforming between Options, Collections, etc.) - for the time being -Xcheck-macros has been disabled to be pragmatic and actually deliver the feature set
compiler crashes when trying to configure stuff under an .element path element with intoVia (but only during direct transformations, transforming with Transformer.define works in those cases as a workaround ()
compiler crashes when using local classes when configuring some cases with Case.fallible*
A full impl of fallible transformers.
There are some issues uncovered when compiling with
-Xcheck-macros
, namely:Accumulating
andFailFast
transformations report bad owners inside lambdas of non-fallible sub-transformations (eg. ihen transforming betweenOptions
,Collections
, etc.) - for the time being-Xcheck-macros
has been disabled to be pragmatic and actually deliver the feature set.element
path element withintoVia
(but only during direct transformations, transforming withTransformer.define
works in those cases as a workaround ()Case.fallible*