Я не понимаю, почему в следующем коде импорт (import b._
), который извлекает implicit def
, должен отображаться как в позиции 1, так и в позиции 2, чтобы он работал.
package a {
abstract class Base {}
}
package b {
import a._
class Derived(i: Int) extends Base {}
object b {
implicit def i2d(i: Int): Derived = new Derived(i)
}
}
import a._
// position 1
import b._
object test extends App {
// position 2
import b._
def doIt(base: Base) {
println("works")
}
doIt(1)
}