Open kubukoz opened 9 months ago
Worth pointing out: the subtypes of Items
all inherit HasStuff
anyway, it's just that Item1
does so indirectly:
trait HasHasStuff extends HasStuff {
def stuff: Option[String]
}
//...
case class Item1(stuff: Option[String] = None) extends Items with HasHasStuff
If you use
@adt
and all of the members apply a mixin directly, you get a sealed trait that also extends that mixin:generates an
Items
that starts with:However, if you insert a mixin between ≥1 of the members and the desired mixin:
then you don't see
HasStuff
in the trait definition:Should this be supported by "flattening" the mixin dependencies, or should the models be updated to avoid transitive mixins if we want to use
@adt
as designed?