小编Jac*_*ack的帖子

为什么不能优化这种隐式转换的情况?

为什么Scala无法优化以下内容:

一个.

implicit def whatever[A](a: A) = new { ... }
Run Code Online (Sandbox Code Playgroud)

至:

class some$generated$name(a: A) {
  ...
}
implicit def whatever[A](a: A) = new some$generated$name(a)
Run Code Online (Sandbox Code Playgroud)

为什么在这种情况下必须使用结构类型?我希望Scala编译器能够执行这种优化,因为写入样式b太丑了(因为,1.逻辑的局部性丢失了,2.你必须不必要地为这些额外的显式类创建名称),而且a的性能要差得多比b.

scala implicit implicit-conversion structural-typing

6
推荐指数
1
解决办法
282
查看次数