类型类+内联方法是否未定义?

以下代码的输出只是list(没有打印数字)。

trait TC[A]:
  inline def show(value: A): Unit

object TC:
  given TC[Int] with
    inline def show(value: Int): Unit = println(value)
  given[A:TC]: TC[List[A]] with
    inline def show(value: List[A]): Unit =
      println("list")
      value.foreach(x => summon[TC[A]].show(x))

@main
def main: Unit =
  import TC._
  val value = 1 :: 2 :: 3 :: Nil
  summon[TC[List[Int]]].show(value)

如果我删除,inline那么一切都会好起来的。我是否在调用未定义的行为?

以上是类型类+内联方法是否未定义?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>