В абстрактном классе scala, если вы хотите определить привязку к контексту, вы можете просто использовать, например. [T: ClassTag] в параметре, однако это не представляется возможным в черте:Сокращение для определения контекста scala, связанного в признаке
trait Foo[T: ClassTag]
Error:(11, 35) traits cannot have type parameters with context bounds `: ...' nor view bounds `<% ...'
trait Foo[T: ClassTag]
^
если вы определяете:
trait Foo[T] {
implicit def ctg: ClassTag[T] = implicitly[ClassTag[T]]
}
object Bar extends Foo[Int]
тогда любая попытка чтения КТГ в баре вызовет StackOverflowError, как неявное параметр становится рекурсивным.
Итак, каков наилучший способ определения ctg в признаке, который автоматически выставляет подклассы привязки к контексту?
Спасибо. Печально знать, что это не поддерживается, надеюсь, что автоматическое обезжиривание может стать особенностью в будущем – tribbloid