Le seguenti linee funzionano quando li inserisco a mano sul Scala REPL (2.7.7):Scala tratti e conversione implicita confusione
trait myTrait {
override def toString = "something"
}
implicit def myTraitToString(input: myTrait): String = input.toString
object myObject extends myTrait
val s: String = myObject
Tuttavia, se provo a compilare il file con esso ottengo il seguente errore:
[error] myTrait.scala:37: expected start of definition
[error] implicit def myTraitToString(input: myTrait): String = input.toString
[error] ^
Perché?
Grazie!
come ho notato nelle definizioni REPL sono implicitamente inseriti in una classe. – Alexey