Я знаю, что есть ряд других вопросов об этой ошибке, но другие довольно ясно, почему есть ошибка. В моем случае я не могу понять почему. Вот краткий пример:
trait A {
def text: String = "abc"
}
case object B extends A {
def text(s: Seq[String]): String = s.mkString
}
Теперь при вызове B.text
я ожидал бы однозначного разрешения метода, унаследованного от базовой черты, поскольку тот, что в объекте B, даже не совпадает с вызывающей сигнатурой ... но все же ошибка!
<console>:13: error: ambiguous reference to overloaded definition,
both method text in object B of type (s: Seq[String])String
and method text in trait A of type => String
match expected type ?
B.text
^
Это "нормально" / ожидается?