这是我遇到的简化版问题。以下代码可以编译:
trait A { implicit val x = 1 }
trait B extends A { val y = implicitly[Int] }
当出现以下错误时(找不到隐式值):
trait B extends A { val y = implicitly[Int] }
trait A { implicit val x = 1 }
我试图通过指定自类型来表明我的意图:trait A { this: B => ... }
,但是没有成功。
我如何处理这种依赖关系,而不用担心代码布局?
trait X; trait B extends A { val y = implicitly[X] }; trait A { implicit object x extends X }
- elbowich