Я собираюсь через API коллекции и возвращаемый тип операций, которые могут изменять тип контейнера, и тип содержащегося элемента имеют весь заголовок в неиспользуемой форме, подобный следующему:
def map [B, That] (f: (A) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]):That
Ясно, чтоесть надежный «откат» к другому типу коллекции с
That
(как в случае
BitSet
откат до
Set
, если содержащийся элемент изменяется на
Int
).Но как можно быть уверенным в типе предмета?Я ожидаю, что тип возвращаемого значения
That[B]
, но это не так.Зачем?Просветите меня пожалуйста: -)