这是我遇到的简化.这编译:
trait A { implicit val x = 1 }
trait B extends A { val y = implicitly[Int] }
Run Code Online (Sandbox Code Playgroud)
虽然这不(找不到隐含值):
trait B extends A { val y = implicitly[Int] }
trait A { implicit val x = 1 }
Run Code Online (Sandbox Code Playgroud)
我试图通过指定一个自我类型来明确我的意图:trait A { this: B => ... }但无济于事.
如何处理这种依赖关系而不必担心我的代码是如何布局的?