данные:Неявные преобразования для членов, которые являются типы
implicit class WithRetType[T, U](x: T => U) {
type Ret = U
}
это:
val foo = (_: Int) * 2
val x: foo.Ret = 3
Урожайность:
error: type Ret is not a member of Int => Int
val x: foo.Ret = ???
^
следующие однако работы:
val foo = (_: Int) * 2
val fooR = new WithRetType(foo)
val x: fooR.Ret = 3
Не подразумеваемые преобразования для доступа к членам, которые являются типами?
Это, по-видимому, соответствующий исходный код: https://github.com/scala/scala/blob/2.11.x/src/compiler/scala/tools/nsc/typechecker/Implicits.scala, но требуется время, чтобы плуг через него :) – Ashalynd
Я предполагаю, что это средство не работает на уровне декларации типа. – Ashalynd
Я попытался взглянуть на ссылку, но там, где я мог найти это ограничение. Выглядит мне ошибка. – Jatin