Я искал использование @specialized в исходном коде стандартной библиотеки Scala 2.8.1. Похоже, что только несколько черт и классов используют эту аннотацию: Function0, Function1, Function2, Tuple1, Tuple2, Product1, Product2, AbstractFunction0, AbstractFunction1, AbstractFunction2.
Ни один из классов коллекции не является @specialized. Почему нет? Будет ли это генерировать слишком много классов?
Это означает, что использование классов коллекции с примитивными типами очень неэффективно, потому что будет много ненужного бокса и распаковки.
Каков наиболее эффективный способ иметь неизменный список или последовательность (с IndexedSeq характеристиками) Int s, избегая бокса и распаковки?