Интересно, как я могу исправить этот код Scala с помощью библиотеки Shapeless, чтобы он компилировался:
object boo {
import shapeless._
sealed trait Bibby
case class LittleBibby(i: Int) extends Bibby
case class BigBibby(s: String) extends Bibby
type Bibbies = LittleBibby :: BigBibby :: HNil
val defaultBibbies: Bibbies = LittleBibby(1) :: BigBibby("beep") :: HNil
def update(b: Bibby, bibbies: Bibbies) : Bibbies = bibbies.updatedElem(b)
val demo: Bibbies = update(LittleBibby(3), defaultBibbies)
}
Я получаю следующее сообщение об ошибке:
could not find implicit value for parameter replacer:shapeless.Replacer[boo.Bibbies,boo.Bibby,boo.Bibby]
def update(b: Bibby, bibbies: Bibbies) : Bibbies = bibbies.updatedElem(b)
Я пытался просмотреть бесформенный исходный код, чтобы найти решение для создания отсутствующего неявного Replacer
, но безрезультатно :/