Определять
type TA[T] = T => Int
implicit class TAOps[T](a: TA[T]) {
def foo(): Unit = {println("TA")}
}
val ta: TA[Double] = x => x.toInt
Сейчас,
ta.foo()
не компилируется с сообщением value foo is not a member of ammonite.$sess.cmd1.TA[Double]
,
в то время как явный вызов
TAOps(ta).foo()
печатает TA
. Почему неявное преобразование не работает в первом случае?