Функции не могут быть определены на верхнем уровне. Поместите myTraitToString
в (компаньон, если хотите) объект:
object myTrait {
implicit def myTraitToString(input : myTrait) : String = input.ToString
}
А затем перенесите его в область:
import myTrait._
Всякий раз, когда myTraitToString находится в области видимости, т.е. когда вы можете вызывать его без каких-либо точек, он будет применяться неявно.