Adam Warski
                                            Adam Warski
                                        
                                    > But when it comes to ditching Mirrors altogether, there is IMHO a problem with accessing subtypes of a trait. (And that is mostly why I haven't mentioned it before)...
Thanks! I think it might turn out recursive types work as-is, but maybe we could support value classes and non-trivial sealed trait hierarchies, for which mirrors are currently not derived.
FYI the base branch is now `scala3`
So one thing that breaks is calling magnolia from another macro: `Expr.summon[Schema[T]]` returns a `None`. Even in a simple case: ```scala case class Test1(f1: Int) implicitly[Schema[Test1]] val codec = implicitly[MultipartCodec[Test1]].codec...
Not sure I understand - `Expr.summon` used to work in the old implementation, returning a `Some`. It stopped with the new one (no idea why). Where would I use `Typeclass.derived`?
This is how to reproduce, inside `magnolia/test`: ```scala // test1.scala package magnolia1.tests import magnolia1.examples._ case class Data(value: String) object Test1 { summon[Show[String, Data]] Test2.summonShow[Data] } // test2.scala package magnolia1.tests import...
I suppose a good idea here would be to move all of the magnolia-scala2 tests into magnolia-scala3, and see which ones fail. Mark them as such, but keep them around...
Hm did you use the exact same examples? They are part of the build so should work jsut fine. Can you post the full code that causes the problem?
Yes, in Scala 3 you can use implicits or `.derived`. Though I don't think you'll be able to compile the same codebase using both Scala 2 and Scala 3, there...
@joroKr21 Thanks for linking the issues - I've voted on it, if it makes any difference :)