【发布时间】:2015-02-28 09:18:02
【问题描述】:
假设我有代码:
class A(implicit s:String = "foo"){println(s)}
object X {
implicit val s1 = "hello"
}
object Y {
import X._
// do something with X
implicit val s2 = "hi"
val a = new A
}
我得到错误:
<console>:14: error: ambiguous implicit values:
both value s2 in object Y of type => String
and value s1 in object X of type => String
match expected type String
val a = new A
有什么方法可以告诉 Scala 在Y 中使用值s2?
(如果我将 s2 重命名为 s1,它会按预期工作,但这不是我想要的)。
另一个解决方案是不做import X._,这也是我试图避免的事情。
【问题讨论】:
标签: scala implicit scala-2.11