Предположим, у меня есть код:
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 использовать значение s2
в Y
? (если я переименую s2
в s1
, он будет работать как положено, но это не то, что мне нужно).
Другое решение — не делать import X._
, чего я снова пытаюсь избежать.