Magnolia: вывод типа завершается ошибкой в ​​случае вложенных классов типов

Я пытаюсь создать сериализуемую черту, которая зависит от класса типа.

      package dsl
import zio.schema._

sealed trait Random[A] {
  def generate: A
}

object Random {
  case object RandomDouble extends Random[Double] {
    override def generate: Double                           = ???
    implicit val RandomDoubleSchema: Schema[Random[Double]] = DeriveSchema.gen[Random[Double]]
  }
}

sealed trait DummyExpr[A] {
  def eval(value: DummyExpr[A]): A
}

object DummyExpr {
  case object DummyTrue  extends DummyExpr[Boolean] {
    override def eval(value: DummyExpr[Boolean]): Boolean = ???
  }
  case object DummyFalse extends DummyExpr[Boolean] {
    override def eval(value: DummyExpr[Boolean]): Boolean = ???
  }

  case class DummyOperator[A](random: Random[A], predicate: DummyExpr[Boolean]) extends DummyExpr[A] {
    override def eval(value: DummyExpr[A]): A = ???
  }
}

object main extends App {
  val schemaRandom = DeriveSchema.gen[Random[Double]]
  val schemaDummy  = DeriveSchema.gen[DummyExpr[Double]]
}

Вот воспроизводимая ссылка https://scastie.scala-lang.org/3PnmF52hSkuduzGP10wTdg

Но вывод типа для этого терпит неудачу с ошибкой magnolia: could not find any direct subtypes of trait Random

Я использую zio-схему, которая внутренне использует магнолию. Я также пытался добавить неявное производное класса типов, но это тоже не помогло.

0 ответов

Другие вопросы по тегам