Может быть, это глупый вопрос, но компиляции следующего дает error: could not find implicit value for evidence parameter of type Outer.Inner.MyImplicit[Int]
:Как импортировать неявный объект?
object Outer {
import Inner._
def someMethod[T : MyImplicit] = {}
someMethod[Int]
object Inner {
sealed trait MyImplicit[T]
implicit case object IntImplicit extends MyImplicit[Int]
}
}
Почему не может Outer
объекта см IntImplicit
несмотря на импорт? Есть ли способ найти компилятор IntImplicit
в пределах объекта Inner
?
Обновление: Что делать, если я не вложен Inner
- как бы я его импортировал?
object Outer {
import Other._
def someMethod[T : MyImplicit] = {}
someMethod[Int]
}
object Other {
sealed trait MyImplicit[T]
implicit case object IntImplicit extends MyImplicit[Int]
}
Спасибо.
@Sergey Любая идея, как бы я это сделал, если бы вместо этого был отдельный (не вложенный) объект? (См. Обновление) – Lasf
Я добавлю, что порядок не имеет значения, когда у вас есть явная подпись: 'implicit val IntImplicit: MyImpicit [Int] = new MyImplicit [Int] {}'. Но нет способа поставить его на объект case. –
Я думаю, что это мой ответ на мое обновление. Благодарю. – Lasf