Scala 隐式类can';不适用于自我类型?

Scala 隐式类can';不适用于自我类型?,scala,implicit-conversion,traits,Scala,Implicit Conversion,Traits,我定义了一个类和一个隐式类: class User implicit class RichUser(user: User) { def hello = println("hello") } 以下代码运行良好: val user = new User user.hello 但以下代码不可编译: trait UserTrait { this: User => this.hello // can't compile !!! } 为什么它不能编译,以及如何修复它 更新: 抱歉

我定义了一个类和一个隐式类:

class User
implicit class RichUser(user: User) {
  def hello = println("hello")
}
以下代码运行良好:

val user = new User
user.hello
但以下代码不可编译:

trait UserTrait {
  this: User =>

  this.hello // can't compile !!!
}
为什么它不能编译,以及如何修复它


更新:

抱歉,它没有用IntelliJ IDEA编译,我也没有尝试使用
scalac
。谢谢大家


不太好,但是你可以显式地调用隐式(双关语)


在2.10.2和2.11.7中为我编译。我在2.11中为我编译。当你从编译器中得到错误时,请始终在你的问题中包含准确的错误消息;不要只说“它无法编译”。错误消息包含重要信息,可用于找出错误的具体原因。您知道IntelliJ使用的是哪个Scala SDK吗?对我来说,它是用Scala 2.11.7编译的,但IDE荧光灯显示了一个错误,如屏幕截图所示。似乎是Scala插件高亮显示错误。谢谢,IDEA使用这种样式没有编译错误。从其他注释来看,原始代码在scalac上是可以的,但在IDEA上有错误
trait UserTrait {
  this: User =>

  implicitly[RichUser](this).hello 
}