następujące linie pracować kiedy wprowadzić je ręcznie na Scala REPL (2.7.7):Scala cechy i niejawna konwersja zamieszanie
trait myTrait {
override def toString = "something"
}
implicit def myTraitToString(input: myTrait): String = input.toString
object myObject extends myTrait
val s: String = myObject
Jednak gdy próbuję skompilować plik z tym mam następujące błąd:
[error] myTrait.scala:37: expected start of definition
[error] implicit def myTraitToString(input: myTrait): String = input.toString
[error] ^
Dlaczego?
Dzięki!
jak zauważyłem w definicjach REPL są implicite umieszczane w klasie. – Alexey