Scala自我类型别名覆盖字段问题

当自我类型别名'覆盖'扩展类字段而编译器没有指出它时,我遇到了问题 .

我与akka演员的情景:

class MyActor extends Actor { self: SomeModuleInjection =>
  ...
  someActorRef ! SomeMessage
  ...
}

如果我使用 self 别名 . 我从 MyActor 向其他演员发送消息,发件人变成 deadLetters . 当我使用不同的别名而不是 self 时,它工作正常 .

我认为 ! 方法隐式必须采用Actor类的自我字段,但它被 self 别名隐藏 .

在我看来,如果扩展一个类,使用自我类型别名是危险的 .

我的问题:为什么编译器不会告诉重复的别名/字段名称?或者如何处理这个问题?

回答(0)