Использование @specialized в трейтах

У меня есть трейт и реализация, выглядящая например:

trait Foo[A] {
  def bar[B >: A: Ordering]: Foo[B]
}
class FooImpl[A]( val a: A, val values: List[Foo[A]] ) extends Foo[A] {
  def bar[B >: A] = { /* concrete implementation */}
}  

Я хотел бы использовать аннотацию @specializedдля Aи B, чтобы избежать автоупаковки. Нужно ли использовать его и в трейте, и в реализации, только в реализации или только в трейте?

6
задан paradigmatic 23 April 2012 в 12:53
поделиться